“unity3d能建模吗导入3DMax制作的模型存在100倍缩放比例”各unity3d能建模吗开发者基本都听过吧。
为什么会存在100倍缩放问题
按如上单位设置后,每个格子是0.1m的大小要制作一个1m的模型嘚占10个格子,如下为一个边长1m的盒子:
通过以上设置后3DMax里制作的1m导入unity3d能建模吗也是1m,继续分析原因
为什么会存在100倍缩放问题
解释这个問题前,先明白几个概念
3DMax“显示单位”和“系统单位”有什么关系
显示单位:决定3DMax主面板显示时使用的尺寸单位下面是分别设置为“厘米”和“米”时的情况
数值暂不用关心,看数值后面的单位cm和m这就是显示单位的设置
系统单位:与“显示单位”一起决定,最终存储时記录的单位值(暂且叫“存储单位”吧)
存储单位=显示单位/系统单位
做个1m的box:显示单位设置为1m时,系统单位为1m 存储单位为1系统单位为1cm 存储单位为100
做个1cm的box:显示单位设置为1cm时,系统单位为1cm 存储单位为1系统单位为0.1mm 存储单位为100
做个1m的box:显示单位设置为1cm时,系统单位为1cm 存储单位为100系统单位为0.1mm 存储单位为10000
“显示单位”和“系统单位”对unity3d能建模吗的导入有何影响?
上面所说“存储单位”最终会记录到模型文件unity3d能建模吗导入时将按“1存储单位=1m”的比例显示模型,举两组数据:
不是说“1存储单位=1m”吗怎么缩小了100倍?
看下unity3d能建模吗导入模型的默认设置
缩放因子为0.01导入unity3d能建模吗的模型默认情况下会被缩小100倍。
要使3DMax导出的模型在导入unity3d能建模吗时默认1m=1m关键得让模型中记录的“存储单位”=100。
比如这几种方式都能得到存储單位为100的模型:
只要苻合以下公式(模型尺寸/显示单位)*(显示单位/系统单位)=100化简一下为 模型尺寸/系统单位=100
但要达到“3DMax中创建一个1m的模型导入unity3d能建模吗也昰1m”的要求,那么模型尺寸=1m 已经固定代入公式得 系统单位=1cm。所以3DMax里系统单位要设置为cm显示单位怎么设置都无所谓。
要保证“3DMax中创建一個1m的模型导入unity3d能建模吗也是1m”,只需要把3DMax中系统单位设置为cm
真不明白为什么unity3d能建模吗要把模型导入默认缩放因子设置为0.01
不过有以上公式这些都不是问题,如果Scale Factor = 1只需要保证模型记录的存储单位为1即“模型尺寸/系统单位=1”->“1m/系统单位=1”->系统单位=m