最近在使用.X文件时遇到了很多问题,主要集中在用panda插件导出的模型总是出现模型朝向不正确,模型比例出错等问题。
引起这些问题的原因很多,先说说坐标系,XNA采用右手坐标系,3dsmax也采用右手坐标系,这是一样的,但是不要忘了,当我们使用DXSDK自带的模型查看器观察模型的时候,D3D用的可是左手坐标系,而panda作为.X文件导出器,自然对D3D的坐标系格外照顾,这样看起来问题有一些复杂,好在我们不需要纠缠这些,只要对上述坐标系有个数就可以了。
因为XNA和3dsmax的坐标系相同,都是右手坐标系,这样就好办了。不过要是你认为只需要把坐标系一一对应再导出就可以了,那你就错了,仔细看看3dsmax的坐标系,你会发现他的Z是朝上的,美工建模时采用的都是这种坐标系,也就是说和我们平时常用的以Y为上向量不符,晕了吧,不要着急,下面就将关键的,嘿嘿。
1. 通过Alt加鼠标拖动3dsmax世界系,使得X轴指向左边,Y正对着你,Z朝上。
上图中左下角就是3dsmax世界坐标系,中间有个模型,这个模型的红绿蓝三轴分别对应了XNA中的世界X,Y,Z轴,即这个模型导出后加载到XNA显示的就是XNA的世界坐标系。明白了吧,这样我们只要让美工按照这个3dsmax坐标系建模就可以了,下面说panda导出参数的设置。
2. 主要修改两处
a) 确认3DS Max Objects页中的Use local object space没有被钩选
b) 确认X File Settings页中的Left Handed Axis被钩选
经过这样的处理就大功告成了,你可能会迷惑,命名XNA是右手坐标系,为什么要选择左手坐标系导出呢?其实道理很简单,为了兼容性,.X不是微软为了XNA而设计的,他出现的比XNA早的多,都可以当XNA的爷爷了,.X本来是针对D3D开发的,而D3D默认的是左手坐标系,因此.X文件也采用左手坐标系,这时你可能又要问,那为什么左手坐标系导出的.X文件可以在XNA正确使用呢,解铃还需系铃人,答案在微软的素材导入器中,XNA默认提供的.X导入器会在那个阶段自动把左手坐标系转换成XNA支持的右手坐标系,这样不就皆大欢喜了,^_^。打开微软自带的.X模型浏览器,看起来应该是这样的:
把模型加入到XNA中去看看吧,你会有新的收获。
分享到:
相关推荐
maya导出.x文件问题说明,同时也有导出.fbx文件,并在xna中的运用
vstemplate文件引用的向导类"Microsoft.Xna.GameStudio.Wizards.MultiProjectWizard"在程序集"Microsoft.Xna.GameStudio,Version=4.0.0.0,Culture=naeutral,PublicKeyToken=6d5c3888ef60e27d"中不存在。 那么将这个...
[XNA英文电子书].Beginning.XNA.3.0.Game.Programming.From.Novice.to.Professional
本文细致地描述了XNA开发中.X文件的操作与实现技术。
基于XML的CAD与XNA的信息转换.pdf
基于 PC,Xbox 360 和 Windows Phone 的游戏开发.想为Xbox360和Windows Phone 7开发游戏吗?通过这本人手必备的教程,您将立马掌握使用微软XNA 4.0游戏开发
学习资源\3D-xna游戏设计\XNA-3D文章.CHM
Sams.Microsoft.XNA.Game.Studio.3.0.Unleashed.pdf
Sams.Microsoft.XNA.Game.Studio.3.0.Unleashed.Feb.2009.rar
Building.XNA.2.0.Games.A.Practical.for.Independent.Game.Development 英文版 pdf
This book is intended for readers who want to create 3D games using the XNA Framework. Basic knowledge of the C# programming language and 2D XNA concepts are helpful, but not required.
Packtpub.XNA.4.0.Game.Development.by.Example.Beginners.Guide.Sep.2010.rar
Packt.XNA.4.0.Game.Development.By.Example
XNA编程书籍2本 《Professional XNA Game Programming: For Xbox 360 and Windows》 《Sams,.Microsoft.XNA.Unleashed》
XNA编程书籍2本 《Professional XNA Game Programming: For Xbox 360 and Windows》 《Sams,.Microsoft.XNA.Unleashed》
XNA编程书籍2本 《Professional XNA Game Programming: For Xbox 360 and Windows》 《Sams,.Microsoft.XNA.Unleashed》
XNA编程书籍2本 《Professional XNA Game Programming: For Xbox 360 and Windows》 《Sams,.Microsoft.XNA.Unleashed》
MS.Press.Microsoft.XNA.Game.Studio.4.0.Learn.Programming.Now
Course.Technology.XNA.Game.Studio.4.0.for.Xbox.360.Developers
up your environment to write your XNA and shader code. It also explains how to create 3D models on a budget and how to use commercial standard models that are created by professional game artists. ...