Details
Description
Application randomly crashes if Joint nodes are created dynamically via Loader3D.
Exception stack:
1 collectBoneTransforms atomic_base.h 390 0x6669ab80
How to reproduce:
1) Run the attached example.
The example crashes occasionally, to reproduce the crash try:
- add/remove line breaks before Window in main.qml;
- run the example ~20 times in a row;
- complete rebuild and run.
- Try to add this code to Joint (not sure if it crashes for the same reason when Model is added):
Model { visible: false source: "#Cube" scale: Qt.vector3d(0.2, 0.2, 0.2) materials: [ DefaultMaterial { diffuseColor: Qt.rgba(0.0, 0.8, 0.0, 1.0) opacity: 1.0 } ] }
With 3D mesh most of the times it works and the joints can be moved/rotated without problems. Sometimes it crashes in initialisation or some of the joints may have incorrect initial position, rotation or scale. In very rare cases it crashes when the program closes.
The example is based on "Qt Quick 3D - Simple Skinning Example"
Is it the only and right way to create skeletons from c++ ?
Attachments
For Gerrit Dashboard: QTBUG-89372 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
326979,2 | Support a joint hierarchy with other node types | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |
327789,2 | Support a joint hierarchy with other node types | 6.0 | qt/qtquick3d | Status: MERGED | +2 | 0 |