Пример #1
0
        public static void Load(ContentManager content, GraphicsDevice device)
        {
            ModelProcessor modelProcessor = new ModelProcessor(content);

            debugfont = content.Load<SpriteFont>("fonts/arial");
            dude = modelProcessor.Load("models/dude");
        }
Пример #2
0
        public AnimationModelContent Load(string assetName)
        {
            SerializableModel modelContent = content.Load<SerializableModel>(assetName);
            AnimationModelContent model = new AnimationModelContent(modelContent.name);

            SetSkeleton(model, modelContent);
            SetMeshList(model, modelContent);
            SetAnimationList(model, modelContent);

            string textureDirectory = assetName.Replace(modelContent.name, "");
            SetTextures(model, content, textureDirectory);

            return model;
        }
Пример #3
0
        public ExampleModelClass(AnimationModelContent model, SkinnedEffect effect)
        {
            this.model = model;
            this.effect = effect;

            skeleton = model.GetSkeleton();
            animationStates = new List<AnimationState>();

            for (int i = 0; i < model.GetAnimationCount(); i++)
            {
                Animation animation = model.GetAnimation(i);
                AnimationState state = new AnimationState(animation);
                animationStates.Add(state);
            }

            animationTransforms = new Matrix[skeleton.GetBoneCount()];
        }
Пример #4
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);
     }
 }
Пример #5
0
 private static void SetSkeleton(AnimationModelContent model, SerializableModel modelContent)
 {
     AnimationSkeleton skeleton = CreateSkeleton(modelContent.skeleton);
     model.SetSkeleton(skeleton);
 }
Пример #6
0
 private static void SetMeshList(AnimationModelContent model, SerializableModel modelContent)
 {
     foreach (SerializableMesh meshContent in modelContent.meshList)
     {
         AnimationMesh mesh = CreateMesh(meshContent);
         model.AddMesh(mesh);
     }
 }
Пример #7
0
 private static void SetAnimationList(AnimationModelContent model, SerializableModel modelContent)
 {
     foreach (SerializableAnimation animationContent in modelContent.animationList)
     {
         Animation animation = CreateAnimation(animationContent);
         model.AddAnimation(animation);
     }
 }