Fix movable LOD objects vs scale

This commit is contained in:
Marianne Gagnon
2015-03-17 20:36:43 -04:00
parent 37d7436b80
commit 184f48b931

View File

@@ -183,7 +183,21 @@ void TrackObject::init(const XMLNode &xml_node, scene::ISceneNode* parent,
new TrackObjectPresentationLOD(xml_node, parent, model_def_loader);
m_presentation = lod_node;
glownode = ((LODNode*)lod_node->getNode())->getAllNodes()[0];
LODNode* node = (LODNode*)lod_node->getNode();
if (type == "movable" && parent != NULL)
{
// HACK: unparent movables from their parent library object if any,
// because bullet provides absolute transforms, not transforms relative
// to the parent object
node->updateAbsolutePosition();
core::matrix4 absTransform = node->getAbsoluteTransformation();
node->setParent(irr_driver->getSceneManager()->getRootSceneNode());
node->setPosition(absTransform.getTranslation());
node->setRotation(absTransform.getRotationDegrees());
node->setScale(absTransform.getScale());
}
glownode = node->getAllNodes()[0];
}
else
{