mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-04 04:45:35 +00:00
Use Node::_getFullTransform instead of building the matrix manually
This commit is contained in:
parent
015bb0bf1f
commit
a9bcbfd8d3
1 changed files with 2 additions and 4 deletions
|
@ -803,12 +803,10 @@ class NIFMeshLoader : Ogre::ManualResourceLoader
|
||||||
for(size_t b = 0;b < bones.length();b++)
|
for(size_t b = 0;b < bones.length();b++)
|
||||||
{
|
{
|
||||||
Ogre::Bone *bone = skel->getBone(bones[b]->name);
|
Ogre::Bone *bone = skel->getBone(bones[b]->name);
|
||||||
Ogre::Matrix4 mat, mat2;
|
Ogre::Matrix4 mat;
|
||||||
mat.makeTransform(data->bones[b].trafo.trans, Ogre::Vector3(data->bones[b].trafo.scale),
|
mat.makeTransform(data->bones[b].trafo.trans, Ogre::Vector3(data->bones[b].trafo.scale),
|
||||||
Ogre::Quaternion(data->bones[b].trafo.rotation));
|
Ogre::Quaternion(data->bones[b].trafo.rotation));
|
||||||
mat2.makeTransform(bone->_getDerivedPosition(), bone->_getDerivedScale(),
|
mat = bone->_getFullTransform() * mat;
|
||||||
bone->_getDerivedOrientation());
|
|
||||||
mat = mat2 * mat;
|
|
||||||
|
|
||||||
const std::vector<Nif::NiSkinData::VertWeight> &weights = data->bones[b].weights;
|
const std::vector<Nif::NiSkinData::VertWeight> &weights = data->bones[b].weights;
|
||||||
for(size_t i = 0;i < weights.size();i++)
|
for(size_t i = 0;i < weights.size();i++)
|
||||||
|
|
Loading…
Reference in a new issue