Я пытаюсь импортировать файл .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
PS ошибка, указанная в фактических результатах, кажется вполне понятной.
Да, это похоже на проблему с шейдером, однако при поиске подобных проблем я не мог найти ничего, что могло бы помочь. Что мне кажется странным, так это то, что он работает при запуске в редакторе, а не в проекте автономной сборки.
У меня были разные проблемы с скомпилированным кодом раньше, я попробовал quest system pro, достаточно поработал в редакторе, в тот момент, когда он был скомпилирован, если он был для webgl, все квесты внезапно стали собираться, несмотря на то, что они не соответствуют cirteria, на сборках ОС, таких как windows / linux i снова получил совершенно разные результаты ..
Я нашел решение своей проблемы.
Оказывается, именно версия Unity, которую я использовал, создала проблему.
Порывшись еще немного в журнале ошибок, я нашел эту ошибку:
WARNING: Shader Unsupported: 'Legacy Shaders/Diffuse' - Pass 'Meta' has no vertex shader
Поэтому я пару раз пытался обновить Unity.
В конце концов я использовал бета-версию: Единство 2019.2 0a11
В этой версии исправлена ошибка неподдерживаемого шейдера, а также исправлена ошибка автономной сборки.
Привет, добро пожаловать в SO. Прочтите Как спросить, тур и минимальный воспроизводимый пример, чтобы улучшить свой вопрос.