예제 #1
0
 public MdlxParser(Mdlx mdlx)
 {
     if (IsEntity(mdlx))
     {
         InitialPose     = BuildTPoseMatrices(mdlx.SubModels.First(), Matrix4x4.Identity);
         Bones           = mdlx.SubModels.First().Bones;
         _parsedModel    = new Kkdf2MdlxParser(mdlx.SubModels.First());
         MeshDescriptors = _parsedModel.ProcessVerticesAndBuildModel(InitialPose);
     }
     else if (IsMap(mdlx))
     {
         MeshDescriptors = mdlx.MapModel.VifPackets
                           .Select(vifPacket => Parse(vifPacket))
                           .ToList();
     }
 }
예제 #2
0
 public void ApplyMotion(Matrix4x4[] matrices) =>
 MeshDescriptors = _parsedModel.ProcessVerticesAndBuildModel(matrices);
예제 #3
0
 public void ApplyMotion(Matrix4x4[] matrices)
 {
     CurrentPose     = matrices;
     MeshDescriptors = _parsedModel.ProcessVerticesAndBuildModel(matrices);
 }