AppleSeeker's Tech Blog
Welcome to AppleSeeker's space

在游戏中添加已保存的对象到工程里来使用是非常容易的:简单的添加.x文件到你的工程中,就像你工程中的其它资源文件那样。仅添加.x文件,这不需要添加任何纹理来使用。

提示:如果你想在工程中添加纹理,你可以在解决方案浏览器中看到它们,将它们添加进去然后在属性窗口中设置它们生成行为属性为None。

.x模型的内容处理器属性包含一些有用的选项,在使用你对象前,你可能想去配置,如图所示。当工程编译时,Visual Studio将.x文件转换成在渲染时更简单使用的格式,在此阶段它能执行基础的对象几何体的转换。

image

这些属性中第一个就是比例。对象中非常常用的,用来创建完全不同的几何体比例,它可以结束整个错误尺寸的对象。在游戏中当然可以调整对象比例,但它增加了额外的矩阵转换的复杂性,特别是当游戏正在运行时,对象确实需要改变比例。

通过设置比例属性来简化比例需求,在编译期间允许顶点重新测量。输入的值是一个数字型,因此,通过该属性支持等分标尺。如果你需要测量非一致性,你将任然需要使用一个比例转换矩阵来实现。

这也是相同常用的,当导入一个对象来发现为模型而使用的坐标系统对于XNA来说是使用是很困难的,导致建模颠倒或不按照你所想的那样旋转。使用这三个轴的旋转属性可以让它们旋转回期望的角度。可以输入正值或负值,但注意这里输入的是角度,不是弧度,是给XNA使用的。

如果你发现你的建模是由内到外渲染的,显示你的内部表面来代替外部表面,你可以设置Swap Winding Order属性为true。这将指示XNA来重新安排每一个三角形的顶点以便它们有机会直接在模型中定义。

我们将暂时提及的最终的属性是给电源的2个属性和2个颜色的关键属性调整纹理。通过模型,它们适用于所使用的纹理,在相同命名的函数中完全相同的属性纹理内容处理器。

为了在你的应用中加载模型,简单调用Content.Load方法,就像在Content工程中我们为所有其它类型的数据存储。模型是对象类型来制定的调用。

在一个XNA游戏中加载一个模型
myModel = Content.Load<Model>("House");

自动加载模型处理通过模型加载所有所需要的纹理,所以这不必分别加载它们。

posted on 2012-03-28 10:12  AppleSeeker(冯峰)  阅读(367)  评论(0编辑  收藏  举报