Unity3D模型导入缩放问题


       最近工作要求,把构建的U3D场景中的每一个层级的scale都显示成1,说是便于开发时阅读以及后续模型的扩展。便查阅及测试了一下模型导入Unity3d的规则。得到了以下总结。使用3dMax  建模,Unity 5.X测试)

       1.不管怎样构建的模型(系统单位和导出单位设置成什么),将模型拖入到U3D工程,然后加入到scene中,不作任何处理,则模型大小和所建立的模型一样大,但是Inspector面板中显示的scale值不一定是1。

       2.当建模软件中,设置的系统单位和导出模型时设置的单位一致,且构建模型时没有进行缩放设置时,模型加入到u3d场景时,scale=1;

        Unity3D模型导入缩放问题_第1张图片             Unity3D模型导入缩放问题_第2张图片

      3. Unity会自动识别模型的格式和缩放比例,进行设置。


      4. 测试:在3DMax中构建一个1m*1m*1m的立方体,设置系统单位为1cm,导出单位设为cm,此时模型模型在U3D中的显示结果如下图。fbx模型文件中的File Scale为0.01。默认为灰色,可以通过修改fbx模型对应的.meta文件中useFileScale:的值来决定是否使用文件缩放。如果不使用,则需要手动设置缩放比例。

      Unity3D模型导入缩放问题_第3张图片    Unity3D模型导入缩放问题_第4张图片     Unity3D模型导入缩放问题_第5张图片

       5. 测试2:系统单位设置成cm,导出模型时单位转换成m,构建一个3m*3m*1m的立方体(通过先构建一个1m*1m*1m立方体,然后再缩放3 3 1得到)。此时,将模型导入到工程,并拖到场景中(不做任何修改),相关文件显示为如下:               

   Unity3D模型导入缩放问题_第6张图片   Unity3D模型导入缩放问题_第7张图片  Unity3D模型导入缩放问题_第8张图片

       6.由以上可以得出,导入unity场景中的物体Inpector面板显示的scale的值,是模型本身缩放倍数与单位转换的倍数相乘。(Unity把模型以cm为单位导入)


你可能感兴趣的:(Unity3d学习笔记)