unity3d 3d模型导入后形状不对,这是一个非常常见的问题,主要是U3D与MAX的单位不一致造成的,常用的解决方法有两个,下面给大家分享一下,希望对大家学习有所帮助。

还有另一个直接将模型导入的0.01设置改过来的方式。直接修改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也没啥问题,不过需要模型原本在MAX导出的时候就放大100倍。为什么要统一规范?主要是U3D的物理系统的问题,单位不对的话,例如什么移动啊力矩啊冲量啊重力啊等都会受到影响。