rollback armature transform correction
This commit is contained in:
@@ -3150,7 +3150,7 @@ void Armature::UpdateTransform()
|
||||
// calculate frame
|
||||
for (Bone* root : rootbones)
|
||||
{
|
||||
RecursiveBoneTransform(this, root, XMMatrixIdentity());
|
||||
RecursiveBoneTransform(this, root, getMatrix());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3756,7 +3756,7 @@ void wiRenderer::RenderMeshes(const XMFLOAT3& eye, const CulledCollection& culle
|
||||
if (!occlusionCulling || !instance->IsOccluded())
|
||||
{
|
||||
XMMATRIX temp;
|
||||
if (mesh->softBody)
|
||||
if (mesh->softBody || instance->isArmatureDeformed())
|
||||
temp = XMMatrixIdentity();
|
||||
else
|
||||
temp = XMMatrixTranspose(XMLoadFloat4x4(&instance->world));
|
||||
@@ -3764,7 +3764,7 @@ void wiRenderer::RenderMeshes(const XMFLOAT3& eye, const CulledCollection& culle
|
||||
|
||||
if (shaderType == SHADERTYPE_FORWARD || shaderType == SHADERTYPE_TILEDFORWARD || shaderType == SHADERTYPE_DEFERRED)
|
||||
{
|
||||
if (mesh->softBody)
|
||||
if (mesh->softBody || instance->isArmatureDeformed())
|
||||
temp = XMMatrixIdentity();
|
||||
else
|
||||
temp = XMMatrixTranspose(XMLoadFloat4x4(&instance->worldPrev));
|
||||
|
||||
Reference in New Issue
Block a user