从带有皮肤的3ds MAX导入后,我的游戏中网格被反转为单位
网格和法线看起来都是“倒置”,就好像我在看某种幽灵一样。
如果我取消选中皮肤,它就能正常工作。
答案 0 :(得分:2)
步骤1:设置模型并导出为FBX。
第2步:统一导入。顶点和法线将被翻转。
第3步:附加此c#脚本,并仅运行ONCE。
public class meshInverter : MonoBehaviour {
// Use this for initialization
void Start () {
Mesh mesh = GetComponent<SkinnedMeshRenderer>().sharedMesh;
mesh.triangles = mesh.triangles.Reverse().ToArray();
}
// Update is called once per frame
void Update () {
}
}
第4步:删除最后一个脚本,附加此JS脚本,然后仅运行ONCE:
#pragma strict
import System.Linq;
function Start () {
var mesh = (transform.GetComponent("SkinnedMeshRenderer") as SkinnedMeshRenderer).sharedMesh;
var normals : Vector3[] = mesh.normals;
for (var i=0;i<normals.Length;i++){
normals[i] = -normals[i];
}
mesh.normals = normals;
}
function Update () {
}
步骤5:删除最后一个脚本,现在模型已修复。
修改强>
请确保您的骨骼o网格没有任何负面比例,这也可以搞定它并且不会是.fbx导出失败。