unity3d 3d模型导入后形状不对
在使用Unity3D导入3D模型时,模型导入后形状不对是一个较为常见的问题。该问题主要是由于U3D与3ds Max的单位不一致所造成的。下面将为大家分享两种常用的解决方法,希望对大家的学习有所帮助。
方法一:修改U3D的Editor类导入设置
可以直接修改U3D的Editor类的导入设置,通过在Editor中加入以下脚本(路径为Assets/Editor/FBXScaleFix.cs),使每次导入模型时其大小直接变为正常的单位1。
using UnityEditor;
public class FBXScaleFix : AssetPostprocessor
{
public void OnPreprocessModel()
{
ModelImporter modelImporter = (ModelImporter) assetImporter;
modelImporter.globalScale = 1;
}
}
关于修改缩放比例消耗物理缓存的疑问
有说法称直接将模型的缩放比例从0.01改成1会比较消耗物理缓存,但从技术原理来看,模型是矢量的,顶点数并未改变,理论上不应该消耗额外的物理缓存。在U3D官方论坛中并没有这种说法,然而在国内却流传较广,目前还缺乏明确的依据来证实这一说法。
不改缩放比例的处理方式及规范统一的原因
实际上,不修改这个0.01的缩放比例也不会有太大问题,不过需要在模型原本从3ds Max导出时就将其放大100倍。统一单位规范主要是考虑到U3D的物理系统,若单位不一致,像物体的移动、力矩、冲量以及重力等物理效果都会受到影响。