Exemple #1
0
        private static AnimationMesh CreateMesh(SerializableMesh meshContent)
        {
            AnimationMesh mesh = new AnimationMesh(meshContent.name);

            AnimationVertex[] vertices = new AnimationVertex[meshContent.vertices.Length];

            for (int i = 0; i < vertices.Length; i++)
            {
                SerializableVertex vertexContent = meshContent.vertices[i];
                vertices[i] = new AnimationVertex
                {
                    position     = vertexContent.position,
                    normal       = vertexContent.normal,
                    texture      = vertexContent.texture,
                    blendweights = vertexContent.blendweights,
                    blendindices = vertexContent.blendindices
                };
            }

            mesh.SetIndices(meshContent.indices);
            mesh.SetVertices(vertices);
            mesh.SetTextureName(meshContent.textureName);

            return(mesh);
        }
Exemple #2
0
 private static void SetMeshList(AnimationModelContent model, SerializableModel modelContent)
 {
     foreach (SerializableMesh meshContent in modelContent.meshList)
     {
         AnimationMesh mesh = CreateMesh(meshContent);
         model.AddMesh(mesh);
     }
 }
Exemple #3
0
 private static void SetTextures(AnimationModelContent model, ContentManager content, string textureDirectory)
 {
     for (int i = 0; i < model.GetMeshCount(); i++)
     {
         AnimationMesh mesh        = model.GetMesh(i);
         string        textureName = mesh.GetTextureName();
         Texture2D     texture     = content.Load <Texture2D>(textureDirectory + RemoveFileExtension(textureName));
         mesh.SetTexture(texture);
     }
 }
Exemple #4
0
        public void Draw(GraphicsDevice device)
        {
            for (int i = 0; i < model.GetMeshCount(); i++)
            {
                AnimationMesh mesh = model.GetMesh(i);
                effect.Texture = mesh.GetTexture();
                effect.CurrentTechnique.Passes[0].Apply();

                mesh.Draw(device);
            }
        }