Unity3D导入MAX文件的一些问题
来源:互联网 发布:淘宝裤子卖点 编辑:程序博客网 时间:2024/05/06 06:39
1、轴向偏转
MAX模型导入Unity3D后,X轴会自动偏转-90度。是因为Unity3D采用的是左手坐标系,而3DMax采用的是右手坐标系。无奈啊,这是很多游戏引擎跟Max结合后都会产生的问题。兼容性问题!!傻X啊MAX。这世界上绝大多数三维软件都TMD的是左手,你非要右手。。主流啊主流。。。
也就是说MAX进入Unity3D后,Z轴就会向上,而空间坐标是Y轴向上。别认为是什么小问题。。如果用程序控制物体指向时,麻烦就大了。妈逼。。
解决方案:把模型导3DS文件,再进Unity3D就不会有问题。而不是官方建议的FBX。FBX跟MAX没差。MAX有什么问题FBX同样有那问题。(FBX里的导出设置里的Z up或是Y up都没有意义)
2、单位问题(缩放因子问题)
Unity3D物理系统的单位是 米(M) 。也就是说Position X为1的话就是X方向移动1米。
情况A,MAX系统单位为米时,建一个长宽高各为5米的Box丢进Unity3D里变成了5厘米。
情况B,MAX系统单位为厘米时,建一个长宽高各为5厘米的Box丢进Unity3D里就是5厘米。
情况C,MAX系统单位为厘米时,建一个长宽高各为5米的Box丢进Unity3D里就是5米。
可以看出MAX单位为厘米时,Unity3D识别正确。。那为什么米就不对呢,难道做建筑用厘米去做?
经过大量的实验我发现了一个很操蛋的问题。
MAX的系统单位设置对于Unity3D而言一点意义都没有!!Unity3D根本就不理会MAX的单位,官方文档里称MAX文件可以使用文件单位,这是在放屁~~~
重新理解一下情况A、B、C就可以明白了。咱们撇去MAX系统单位不看。
A中,Box为5个单位,进入Unity3D后是0.05个单位,缩小了100倍。
B中,Box为5个单位,进入Unity3D后是0.05个单位,缩小了100倍。
C中,Box为500个单位,进入Unity3D后是5个单位,缩小了100倍。
说白了就是丢进Unity3D里就会缩小100倍,跟单位没什么关系。
为什么会缩小100倍呢?
因为MAX模型导入Unity3D时,导入设置里的缩放因子(Scale Factor)默认是0.01,缩小100倍。呃。。好吧。。。你赢了。。
既然MAX系统单位毫无意义,那就毫不犹豫的把导入设置里的使用文件单元(Use File Units)选项取消掉。
然后MAX建模里也不用使用特殊的系统单位了,导入时用缩放因子控制大小就行了。
例如:
建筑建模时,MAX单位视为米。导入时,缩放因子设为1。
角色建模时,MAX单位视为厘米。导入时,缩放因子设为0.01。
MAX模型导入Unity3D后,X轴会自动偏转-90度。是因为Unity3D采用的是左手坐标系,而3DMax采用的是右手坐标系。无奈啊,这是很多游戏引擎跟Max结合后都会产生的问题。兼容性问题!!傻X啊MAX。这世界上绝大多数三维软件都TMD的是左手,你非要右手。。主流啊主流。。。
也就是说MAX进入Unity3D后,Z轴就会向上,而空间坐标是Y轴向上。别认为是什么小问题。。如果用程序控制物体指向时,麻烦就大了。妈逼。。
解决方案:把模型导3DS文件,再进Unity3D就不会有问题。而不是官方建议的FBX。FBX跟MAX没差。MAX有什么问题FBX同样有那问题。(FBX里的导出设置里的Z up或是Y up都没有意义)
2、单位问题(缩放因子问题)
Unity3D物理系统的单位是 米(M) 。也就是说Position X为1的话就是X方向移动1米。
情况A,MAX系统单位为米时,建一个长宽高各为5米的Box丢进Unity3D里变成了5厘米。
情况B,MAX系统单位为厘米时,建一个长宽高各为5厘米的Box丢进Unity3D里就是5厘米。
情况C,MAX系统单位为厘米时,建一个长宽高各为5米的Box丢进Unity3D里就是5米。
可以看出MAX单位为厘米时,Unity3D识别正确。。那为什么米就不对呢,难道做建筑用厘米去做?
经过大量的实验我发现了一个很操蛋的问题。
MAX的系统单位设置对于Unity3D而言一点意义都没有!!Unity3D根本就不理会MAX的单位,官方文档里称MAX文件可以使用文件单位,这是在放屁~~~
重新理解一下情况A、B、C就可以明白了。咱们撇去MAX系统单位不看。
A中,Box为5个单位,进入Unity3D后是0.05个单位,缩小了100倍。
B中,Box为5个单位,进入Unity3D后是0.05个单位,缩小了100倍。
C中,Box为500个单位,进入Unity3D后是5个单位,缩小了100倍。
说白了就是丢进Unity3D里就会缩小100倍,跟单位没什么关系。
为什么会缩小100倍呢?
因为MAX模型导入Unity3D时,导入设置里的缩放因子(Scale Factor)默认是0.01,缩小100倍。呃。。好吧。。。你赢了。。
既然MAX系统单位毫无意义,那就毫不犹豫的把导入设置里的使用文件单元(Use File Units)选项取消掉。
然后MAX建模里也不用使用特殊的系统单位了,导入时用缩放因子控制大小就行了。
例如:
建筑建模时,MAX单位视为米。导入时,缩放因子设为1。
角色建模时,MAX单位视为厘米。导入时,缩放因子设为0.01。
- Unity3D导入MAX文件的一些问题
- Unity3D导入MAX文件的一些问题。不断更新。。。
- csv文件导入Mysql的一些问题
- Unity3D - 图片资源导入的一些基础知识
- Unity3D一些问题的解决方法
- 用Max导出Unity3D使用的FBX文件流程注解
- 用Max导出Unity3D使用的FBX文件流程注解
- 用Max导出Unity3D使用的FBX文件流程注解
- 用Max导出Unity3D使用的FBX文件流程注解
- 关于Unity3d模型导入的材质问题
- mysql导入的一些问题
- unity3d导入fbx文件,与3dmax生成的fbx文件时,所遇到的单位问题
- Unity3D 一些关于坐标的问题
- 搭建SVN,导入以前版本svn服务器上的共享文件的一些问题
- unity3d教程游戏包含的一切文件导入资源
- unity3d中网格导入文件的两种类型
- 【Unity3d】当重新导入的动画出现问题的解决方案
- 3ds Max SDK 导入插件的一些技术障碍记录
- DShow的视频采集的数据输出YUV420
- js输出乱码
- day-03
- 《Java核心技术》要点总结:接口与内部类,异常、日志与断言
- Android画图学习总结(一)——类的简介
- Unity3D导入MAX文件的一些问题
- 我的新网站www.kisshc.com欢迎大家访问提意见
- Mac QTMovieView添加划入窗口
- 《Java核心技术》要点总结:流与文件,泛型与集合
- [Android] Failed to allocate memory: 8
- 从程序员到技术总监,分享10年开发经验
- paip.netbeans断点调试debugger console输出乱码解决方案
- 德国人,你们真应为有森海塞尔这样的企业而骄傲
- Android画图学习总结(二)——Bitmap