KDAB / kuesa

Professional 3D asset creation and integration workflow for Qt
https://www.kuesa.com/
139 stars 27 forks source link

Adding Kuesa runtime to an already available Qt3D editor #147

Closed Megidd closed 3 years ago

Megidd commented 3 years ago

I'm sorry if it sounds like a stupid question 😕 😅

I'm confused about how Kuesa runtime would help a 3D editor application.

For example, consider this app:

https://github.com/qt-labs/qt3d-editor

What would I gain by replacing some parts of this app with Kuesa runtime? How Kuesa runtime can help to improve it? What would be the benefits?

lemirep commented 3 years ago

Hello Megidd,

The Kuesa Runtime could be useful to a 3D editor application mainly if you want to handle importing glTF 2 files into it. Without kuesa you would rely on the Qt 3D SceneLoader component which doesn't do the best of jobs at loading asset files (it does it best to handle a variety of formats more or less correctly).

Instead if you use Kuesa's GLTF2Importer, you would get full gltf2 support (PBR materials, skinning, animations ...). On top of that Kuesa gives you access to collections (tables mapping a gltf 2 name to a specific Qt 3D asset (Entity, Transform, Material, Animation ...) which make it easy to retrieve specific assets based on names. Additionally, Kuesa provides objects like the TransformTracker which make it easy to watch a Qt 3D transform for changes and get a screen position out of it. This makes it really convenient to place 2D labels on a 3D entity. You also have the AnimationPlayer to easily play an animation based on its name. Furthermore, a pre canned ForwardRenderer FrameGraph for Qt 3D that works with the various Kuesa materials is provided as well.

Obviously if you don't really care about gltf 2, Kuesa wouldn't bring you much for a 3D Editor application.