public static Vector3 GetBoneWithRotation(ulong mesh, Bones bone) { var fbone = GetBoneWithIndex(mesh, bone); var componentToWorld = KReader.readFtransform(mesh + 0x0190); var matrix = Matrix.Multiply(fbone.ToMatrixWithScale(), componentToWorld.ToMatrixWithScale()); return(new Model.Vector3(matrix.M41, matrix.M42, matrix.M43)); }
public static FTransform GetBoneWithIndex(ulong mesh, Bones bone) { var cachedBoneSpaceTransforms = KReader.readUlong(mesh + 0x0790); return(KReader.readFtransform(cachedBoneSpaceTransforms + (ulong)((int)bone * 0x30))); }