public void ConvertToQuaternion() { if (RotationType == BoneRotationType.Quaternion) { return; } RotationType = STBone.BoneRotationType.Quaternion; ApplyTransforms(); //Update matrices skeletonParent.reset(); skeletonParent.update(); }
public void LoadScene() { objects.Clear(); materials.Clear(); BoneNames.Clear(); skeleton = new STSkeleton(); processNode(); if (scene.RootNode != null) { var rootTransform = scene.RootNode.Transform; Matrix4 transformMat = AssimpHelper.TKMatrix(rootTransform); var scale = transformMat.ExtractScale(); var rotation = transformMat.ExtractRotation(); var position = transformMat.ExtractTranslation(); STConsole.WriteLine($"-".Repeat(30)); STConsole.WriteLine($"rootTransform {transformMat}"); STConsole.WriteLine($"scale {scale}"); STConsole.WriteLine($"rotation {rotation}"); STConsole.WriteLine($"position {position}"); STConsole.WriteLine($"-".Repeat(30)); var SklRoot = GetSklRoot(scene.RootNode, BoneNames); if (SklRoot != null) { BuildSkeletonNodes(SklRoot, BoneNames, skeleton, ref rootTransform); } else { BuildSkeletonNodes(scene.RootNode, BoneNames, skeleton, ref rootTransform); } skeleton.update(); skeleton.reset(); } if (scene.HasMaterials) { foreach (Material mat in scene.Materials) { materials.Add(CreateGenericMaterial(mat)); } } foreach (Assimp.Animation animation in scene.Animations) { } foreach (var tex in scene.Textures) { } }
public void LoadScene() { objects.Clear(); materials.Clear(); BoneNames.Clear(); skeleton = new STSkeleton(); processNode(); if (scene.RootNode != null) { var idenity = Matrix4x4.Identity; var SklRoot = GetSklRoot(scene.RootNode, BoneNames); if (SklRoot != null) { BuildSkeletonNodes(SklRoot, BoneNames, skeleton, ref idenity); } else { BuildSkeletonNodes(scene.RootNode, BoneNames, skeleton, ref idenity); } skeleton.update(); skeleton.reset(); } if (scene.HasMaterials) { foreach (Material mat in scene.Materials) { materials.Add(CreateGenericMaterial(mat)); } } foreach (Assimp.Animation animation in scene.Animations) { } foreach (var tex in scene.Textures) { } }