在 Unity 编辑器中导入对象,运行 构建项目时出错
Importing Object working in Unity editor, error when running build project
我正在尝试在运行时将 .obj 文件导入到我的统一项目中。我使用框架 SimpleOBJ 来导入这个文件。
当 运行 Unity 编辑器中的项目一切正常,对象被导入和显示。
但是,在构建项目后,当我尝试导入文件时出现错误,并且 .obj 文件未导入。
我尝试了不同的导入方法,更接近于使用框架删除的示例,但这只会使代码复杂化,但并没有解决我的问题。
class ObjHandler : MonoBehaviour
{
public GameObject import()
{
filepath = FileBrowser.OpenSingleFile("*");
WWW www = new WWW(filepath);
return ObjImporter.Import(www.text);
}
public void ImportObject()
{
ObjHandler handler = new ObjHandler();
_gameObject = handler.Import();
foreach (Transform child in _gameObject.transform)
{
GameObjects.Add(new GameObjectModel(child.gameObject));
Debug.Log(child.gameObject.name);
}
}
预期结果:
https://i.imgur.com/0o0iyf6.png
实际结果(错误):
https://i.imgur.com/yMtesoh.png
我找到了解决问题的方法。
结果是我使用的 Unity 版本造成了这个问题。
在错误日志中进一步挖掘后,我发现了这个错误:
WARNING: Shader Unsupported: 'Legacy Shaders/Diffuse' - Pass 'Meta'
has no vertex shader
所以我尝试升级 Unity 几次。
最终我使用了 Beta 版本:
Unity 2019.2 0a11
此版本修复了不支持的着色器错误,这修复了我的独立构建错误。
我正在尝试在运行时将 .obj 文件导入到我的统一项目中。我使用框架 SimpleOBJ 来导入这个文件。
当 运行 Unity 编辑器中的项目一切正常,对象被导入和显示。
但是,在构建项目后,当我尝试导入文件时出现错误,并且 .obj 文件未导入。
我尝试了不同的导入方法,更接近于使用框架删除的示例,但这只会使代码复杂化,但并没有解决我的问题。
class ObjHandler : MonoBehaviour
{
public GameObject import()
{
filepath = FileBrowser.OpenSingleFile("*");
WWW www = new WWW(filepath);
return ObjImporter.Import(www.text);
}
public void ImportObject()
{
ObjHandler handler = new ObjHandler();
_gameObject = handler.Import();
foreach (Transform child in _gameObject.transform)
{
GameObjects.Add(new GameObjectModel(child.gameObject));
Debug.Log(child.gameObject.name);
}
}
预期结果: https://i.imgur.com/0o0iyf6.png
实际结果(错误): https://i.imgur.com/yMtesoh.png
我找到了解决问题的方法。
结果是我使用的 Unity 版本造成了这个问题。
在错误日志中进一步挖掘后,我发现了这个错误:
WARNING: Shader Unsupported: 'Legacy Shaders/Diffuse' - Pass 'Meta' has no vertex shader
所以我尝试升级 Unity 几次。
最终我使用了 Beta 版本: Unity 2019.2 0a11
此版本修复了不支持的着色器错误,这修复了我的独立构建错误。