Improved animations game replication and performance

This commit is contained in:
dexy
2022-01-28 06:25:41 +11:00
Unverified
parent 73402373e3
commit bc14a1fd22
3 changed files with 31 additions and 12 deletions
+19 -11
View File
@@ -2233,19 +2233,27 @@ namespace CodeWalker.GameFiles
public void UpdateAnimTransform()
{
//AnimTransform = Matrix.AffineTransformation(1.0f, AnimRotation, AnimTranslation);//(local transform)
var pos = AnimTranslation;
var ori = AnimRotation;
var sca = AnimScale;
var pbone = Parent;
while (pbone != null)
AnimTransform = Matrix.AffineTransformation(1.0f, AnimRotation, AnimTranslation);
AnimTransform.ScaleVector *= AnimScale;
if (Parent != null)
{
pos = pbone.AnimRotation.Multiply(pos /** pbone.AnimScale*/) + pbone.AnimTranslation;
ori = pbone.AnimRotation * ori;
pbone = pbone.Parent;
AnimTransform = AnimTransform * Parent.AnimTransform;
}
AnimTransform = Matrix.AffineTransformation(1.0f, ori, pos);//(global transform)
AnimTransform.ScaleVector *= sca;
////AnimTransform = Matrix.AffineTransformation(1.0f, AnimRotation, AnimTranslation);//(local transform)
//var pos = AnimTranslation;
//var ori = AnimRotation;
//var sca = AnimScale;
//var pbone = Parent;
//while (pbone != null)
//{
// pos = pbone.AnimRotation.Multiply(pos /** pbone.AnimScale*/) + pbone.AnimTranslation;
// ori = pbone.AnimRotation * ori;
// pbone = pbone.Parent;
//}
//AnimTransform = Matrix.AffineTransformation(1.0f, ori, pos);//(global transform)
//AnimTransform.ScaleVector *= sca;
}
public void UpdateSkinTransform()
{