mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 08:34:40 +00:00
Fix for Issue #108 Turret Heading Node
This commit is contained in:
parent
974e33734c
commit
956f304e4d
1 changed files with 20 additions and 4 deletions
|
|
@ -824,7 +824,11 @@ void TurretShape::_updateNodes(const Point3F& rot)
|
||||||
{
|
{
|
||||||
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
||||||
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
||||||
mat->set(zRot);
|
Quat16 defaultRot = mShapeInstance->getShape()->defaultRotations[node];
|
||||||
|
|
||||||
|
QuatF qrot(zRot);
|
||||||
|
qrot *= defaultRot.getQuatF();
|
||||||
|
qrot.setMatrix( mat );
|
||||||
mat->setColumn(3, defaultPos);
|
mat->setColumn(3, defaultPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -834,7 +838,11 @@ void TurretShape::_updateNodes(const Point3F& rot)
|
||||||
{
|
{
|
||||||
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
||||||
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
||||||
mat->set(xRot);
|
Quat16 defaultRot = mShapeInstance->getShape()->defaultRotations[node];
|
||||||
|
|
||||||
|
QuatF qrot(xRot);
|
||||||
|
qrot *= defaultRot.getQuatF();
|
||||||
|
qrot.setMatrix( mat );
|
||||||
mat->setColumn(3, defaultPos);
|
mat->setColumn(3, defaultPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -846,7 +854,11 @@ void TurretShape::_updateNodes(const Point3F& rot)
|
||||||
{
|
{
|
||||||
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
||||||
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
||||||
mat->set(xRot);
|
Quat16 defaultRot = mShapeInstance->getShape()->defaultRotations[node];
|
||||||
|
|
||||||
|
QuatF qrot(xRot);
|
||||||
|
qrot *= defaultRot.getQuatF();
|
||||||
|
qrot.setMatrix( mat );
|
||||||
mat->setColumn(3, defaultPos);
|
mat->setColumn(3, defaultPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -855,7 +867,11 @@ void TurretShape::_updateNodes(const Point3F& rot)
|
||||||
{
|
{
|
||||||
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
MatrixF* mat = &mShapeInstance->mNodeTransforms[node];
|
||||||
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
Point3F defaultPos = mShapeInstance->getShape()->defaultTranslations[node];
|
||||||
mat->set(zRot);
|
Quat16 defaultRot = mShapeInstance->getShape()->defaultRotations[node];
|
||||||
|
|
||||||
|
QuatF qrot(zRot);
|
||||||
|
qrot *= defaultRot.getQuatF();
|
||||||
|
qrot.setMatrix( mat );
|
||||||
mat->setColumn(3, defaultPos);
|
mat->setColumn(3, defaultPos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue