Collada animated character models are optimized out of the collision box instance with object paging
Animated creatures are separated from their parent object holding the collision box. It's not that the animated creatures disappear, but they animate fine in one place, but only the collision box keeps moving.
The issue was first noticed here: !1682 (comment 889682438) and it revealed another more serious bug. The issue with Collada still remains, and it only occurs with object paging on.
All Collada models loaded with OSG have the following structure, where osg::Group called "Collada visual scene group" holds various child objects. However, with object paging this osg::Group
is optimized out, separating the animated creatures from the collision box.
SceneUtil::PositionAttitudeTransform { ...
Children 1 {
osg::Group {
UniqueID 4
Name "Collada visual scene group" ...
Adding a TemplateRef to the base of all rigged Collada models is a working and tested fix (I'll submit a MR later). The following goes to scenemanager, when loading animated Collada files:
node->getOrCreateUserDataContainer()->addUserObject(
new TemplateRef(newRiggeometryHolder->getGeometry(0)));