Qt3DStudio

From Qt Wiki
Jump to navigation Jump to search

Introduction

Qt 3D Studio is a visual editor for designers, combined with a runtime that can load presentations created by the editor. Qt 3D Studio is not a 3D modeling tool nor a replacement for other digital content creation (DCC) tools such as Maya or Blender. On the other hand, Qt 3D Studio is an integration tool where designers can import their designs and animations from DCC tools and integrate them. Qt 3D Studio is used to define states (slides), transitions between those states, and how program logic can influence the design using Data Inputs.

Qt 3D Studio also helps in optimizing the runtime overhead by importing models from DCC tools and packaging them into tight binary mesh files. It will in future also allow texture compression to be selectively applied to imported textures.

Qt 3D Studio exists in parallel with the Qt 3D module. See Comparison of Qt 3D and Qt 3D Studio for more details.

Qt 3D Studio is a tool that you can install from Tools section of Qt online installer, download as an offline installer or get as source code from codereview.qt-project.org/p/qt3dstudio/qt3dstudio.git

Qt 3D Studio Runtime is the runtime component which can be installed along with the QML component from Qt online installer or you can get the source code from https://code.qt.io/cgit/qt3dstudio/ogl-runtime.git/

The module is maintained by engineers from The Qt Company.

Documentation

Official documentation is available at doc.qt.io/qt3dstudio/index.html

Development

Qt 3D Studio is based on Nvidia Drive Design that was contributed under CLA by NVIDIA in 2017. At the moment the editor is included as part of Qt releases as optionally installable tool and runtime is an optionally installable Qt module. Due to the need to develop and react to customer demands quickly, the release cycle is 3 months timed to tail major Qt releases by +1 month. This allows us to take latest versions of Qt and especially Qt 3D in to use quickly and also do releases in between Qt releases to push the features, optimizations, and bug fixing forwards. At some point later in time, the Qt 3D Runtime may be proposed to be official Qt module, but at this point, we need to keep the release cycle of the runtime in synch with the editor release cycle.

Releases

1.0 - November 2017

  • Editor UI ported to Qt from MFC. Included complete redesign of the UI look'n'feel.
  • Mac version of the editor was made available.
  • Lot of 3rd party libs (e.g. boost) replaced with Qt as part of Qt porting the source code.
  • Original 3D engine integration with Qt.
    • QML component for showing presentations made with Qt 3D Studio editor made available in source code form.
    • QML API 1.0 allowed full access to all parameters of presentation, no well defined contract between programmer and designer.
    • Font rendering changed to use Qt text rendering in to texture to unify text rendering look'n'feel.
    • LUA scripting API for creating artist behavior scripts changed to QML + JavaScript API technology preview.
    • For more see blog post Qt 3D Studio 1.0 Released

1.1 - February 2018

  • Editor refinement and UX improvements.
  • Some work done towards Linux version.
  • Original 3D engine refinements.
    • Initial Data Input concept introduced to facilitate a well defined contract between programmer and designer.
      • Only allowed control of timeline and slide.
    • Behavior scripts API still technology preview.
  • For more see blog post Qt 3D Studio 1.1 Released

2.0 - June 2018

  • Editor improvements
    • New timeline in the Qt 3D Studio editor built from ground up based on the new timeline code in upcoming Qt Design Studio.
    • Lot of improvements to the designer user experience and work flow. As an example:
      • Interactions in the 3D edit view are now easier and more in line with other 3D DCC tools.
      • Visualisation of lights and cameras in 3D edit view added
    • New runtime based on Qt 3D
      • Full runtime using the Qt 3D engine building blocks.
      • Integrates runtime even deeper with Qt.
      • Binary installer for Qt 5.11 made available (in addition to source code) for easier start for developers.
      • Behavior script API still in TP, some reductions made based on comments and findings. Will need more work still.
    • For more see blog posts:

2.1 - October 2018

2.2 - December 2018

2.3 - March 2019

2.4 - June 2019

2.5 - September 2019 (ongoing)

2.6 - December 2019

Testing

There is a test plan with use cases to be validated before each release.

Qt 3D Studio test plan document

Keyboard short cuts and actions

Keyboard shortcuts and action