zoukankan      html  css  js  c++  java
  • Unity3D导入MAX文件的一些问题(zz)

    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。
    OK了。。。
  • 相关阅读:
    SGU 495 Kids and Prizes 概率DP 或 数学推理
    poj 2799 IP Networks 模拟 位运算
    uva 202 Repeating Decimals 模拟
    poj 3158 Kickdown 字符串匹配?
    uva 1595 Symmetry 暴力
    uva 201 Squares 暴力
    uva 1594 Ducci Sequence 哈希
    uva 1368 DNA Consensus String 字符串
    数字、字符串、列表的常用操作
    if条件判断 流程控制
  • 原文地址:https://www.cnblogs.com/xpvincent/p/3472531.html
Copyright © 2011-2022 走看看