zoukankan      html  css  js  c++  java
  • 一起学WP7 XNA游戏开发(六. 3d Model的载入)

    XNA3D Model 一般都是autodesk公司的fbx 格式。载入的方法和2D基本上是一样的,但是在绘制时是有很大不同的。

    一.载入:

    protected override void LoadContent()

            {

                tankModel = Content.Load<Model>("tank");//载入fbx model

               

                tankBonesTransforms = new Matrix[tankModel.Bones.Count];//创建一个modelboneTransform数组,用来保存所有的model boneTransform.

     

            }

     

    二.绘制:

    tankModel.CopyAbsoluteBoneTransformsTo(tankBonesTransforms);//model中的boneTransform拷到数组中,为绘制做准备

         Matrix projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.PiOver4,                                                                    GraphicsDevice.Viewport.AspectRatio, 10, 20000);//创建投影矩阵

     

        Matrix view = Matrix.CreateLookAt(new Vector3(1500, 550, 0) * 1 + new Vector3(0, 150, 0), new Vector3(0, 150, 0), Vector3.Up);//创建视图矩阵,将世界坐标转为摄像机的坐标

     

                foreach (ModelMesh m in tankModel.Meshes)//开始绘制世界坐标中的每个对象

                {

                    foreach (BasicEffect e in m.Effects)

                    {

                        e.World = tankBonesTransforms[m.ParentBone.Index];

                        e.View = view;

                        e.Projection = projection;

                        e.LightingEnabled = true;

     

                        e.SpecularColor = new Vector3(0.8f, 0.8f, 0.6f);

                        e.SpecularPower = 16;

                        e.TextureEnabled = true;

                      

                    }

     

                    m.Draw();//使用ModelMesh中的draw方法来进行绘制,而不是用SpriteBatch中的draw方法来绘制

     

                }

     

    示例下载地址:http://www.52winphone.com/bbs/viewthread.php?tid=282&extra=page%3D1

  • 相关阅读:
    实验10 使用PBR实现策略路由
    实验9 使用route-policy控制路由
    实验8 filter-policy过滤路由
    实验7 ISIS多区域配置
    实验6 IS-IS基本配置
    MySQL复制表
    mysql数据备份
    mysql 创建用户,授权
    数据库
    mysql 修改文件记录:
  • 原文地址:https://www.cnblogs.com/randylee/p/1977169.html
Copyright © 2011-2022 走看看