XNA之进阶--3D模型的加载和控制
来源:互联网 发布:jquery json remove 编辑:程序博客网 时间:2024/04/26 11:33
Ok,我们要显示3d模型,所以我们首先需要对应的模型,新建一个spacewar工程,但是我们只想要美术资源,而不是要整个未编译的代码,所以我们的第一项工作就是把美术资源独立出来.我们来创建一个空战(Spacewar)Starter Kit工程.
新建一个windowsgeme工程,我们看到已经为我们准备好了一个名为content的文件夹,我们的所有素材都将放到这个文件夹里,新建一个Audio文件夹,在该文件夹下新建一个Textures和Models文件夹;如果观察代码的话,我们可以看到Content.RootDirectory = "Content";在这里我们就设置了游戏素材加载的根目录是在Content文件夹下;
我们需要两件美术资源.第一个是将放入Content/Models文件夹的3D模型,第二个是需要贴在3D模型上的一个纹理,它将被放在Content/Textures文件夹;
- 在解决方案管理器中右键点击Models文件夹,选择添加,然后选择已有项... 使用弹出的对话框浏览到你放置空战的那个路径,找到Contents/Models文件夹,选择p1_wedge.fbx如果你看不到任何文件,请确认你把文件类型下拉列表中选择了Content Pipeline Files.点击OK.
- 在解决方案管理器中右键点击Textures文件夹,然后选择已有项... 使用弹出的对话框浏览到你放置空战的那个路径,找到Contents/Textures文件夹,选择wedge_p1_diff_v1.tga ,点击OK.
- 在所有的素材都添加完毕之后,资源管理器中将显示如下:
- 当文件加入到工程以后,素材管道将自动把它们识别成素材文件,并且给它设置一个合适的素材处理器,这些都是自动的,你无需做任何事
好的,所有的准备 工作都做好了,下面就是从游戏里加载素材。在game.cs中,在LoadContent中我们加载所有的资源
这是xna1.x版本的方法,在新的版本中,应该在 LoadContent函数中加载模型;注意你必须传入资源相对于工程目录的路径,另外要注意资源名不带任何扩展名.资源名称可以是任意的,但是缺省的资源名称是文件名去掉扩展名;
这样就将资源加载在了工程中,下面我们要做的是显示该模型:
- 在Draw函数中,我们将把模型绘制到屏幕上,带纹理和灯光.
- 在Update函数中,我们将按时间改变模型的方位,这样它将随时间而旋转.
我们先来做最难的那部分工作:绘制模型.我们要做的是使用一些XNA Framework函数来设置模型的坐标,然后在屏幕上绘制模型并打光:
- 在代码中找到Draw函数. 修改代码如下
首先定义一个Vector3的对象,用来存储当前对象的空间坐标
- XNA之进阶--3D模型的加载和控制
- XNA-顯示3D模型
- XNA系列—3d模型的导入
- XNA学习(二) 载入3D模型
- XNA:2D图元与3D模型共存时的渲染问题
- XNA:2D图元与3D模型共存时的渲染问题
- XNA:2D图元与3D模型共存时的渲染问题
- 从零3D基础入门XNA 4.0——模型和BasicEffect
- XNA 3D游戏开发入门基本——鼠标选择3D模型(3D物体的拾取)
- Hands-On Lab XNA 3D 模型浏览器
- opengles之3D模型加载(obj模型文件)
- XNA 的 3D 和 2D 游戏引擎(商业与开源)
- 3D模型的加载与使用
- XNA 3D文字
- XNA 2D图像的Draw方法 和 图片旋转
- flare 3D之加载模型资源见解
- WP7-XNA 3D开发 显示3D模型(BasicEffect、DualTexturesEffect)
- XNA-3D-绘制立方体
- E文积累_20080307_I wouldn't look at it like that
- qt/embedded 2.3.10 移植
- 数据库设计中的规范化
- SQL 转义字符
- 质量屋管理思想
- XNA之进阶--3D模型的加载和控制
- VS2008正式版下载-vs2008下载地址
- 一个用JAVA写的清除EXE病毒文件的程序(转)
- ADO.NET 2.0对象模型
- 巨人网络宣布与华为建立研发合作伙伴关系
- 微软最走运/倒霉的十个瞬间
- Implement memory allocator and deallocator using the mechanism in SGI STL
- 2007年下半年国家软考指定教材
- 欧洲最大IT展会CeBIT开幕 绿色IT是主题