我的工作是编写一个代码,在运行时将.OBJ加载到Unity中. Unity在其wiki页面中提供了示例代码.我使用以下代码来使用链接中给出的类:
public class Main : MonoBehavIoUr {
// Use this for initialization
void Start () {
Mesh holderMesh = new Mesh ();
ObjImporter newMesh = new ObjImporter();
holderMesh = newMesh.ImportFile("C:/Users/cvpa2/Desktop/ng/output.obj");
}
我在Unity Monodevelop中没有收到任何错误,但模型也没有加载.
可能的解决方案是什么?
解决方法:
仅仅创建一个Mesh对象是不够的.你将不得不做至少两件事:
>创建一个MeshRenderer组件
>创建MeshFilter组件
因此,如果您将代码更改为以下内容,则至少应该看到您的网格是否已成功创建.
using UnityEngine;
using System.Collections;
public class Main : MonoBehavIoUr
{
// Use this for initialization
void Start()
{
Mesh holderMesh = new Mesh();
ObjImporter newMesh = new ObjImporter();
holderMesh = newMesh.ImportFile("C:/Users/cvpa2/Desktop/ng/output.obj");
MeshRenderer renderer = gameObject.AddComponent<MeshRenderer>();
MeshFilter filter = gameObject.AddComponent<MeshFilter>();
filter.mesh = holderMesh;
}
}
从那里开始你仍然需要分配一个材料(如果加载/创建)和其他这样的东西,但它将是一个开始.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。