Как загрузить Obj с ассоциированием MTL (текстуры) в C # - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь загрузить obj с помощью mtl (текстуры).Я использую helixtoolkit

        ObjReader CurrentHelixObjReader = new ObjReader();
        objmodel.Content = CurrentHelixObjReader.Read(@"C:...");

.obj работает, но всегда серый

.mtl-файл находится в той же папке.

Кто-нибудь подскажет, как это реализовать ...

1 Ответ

0 голосов
/ 10 июля 2018

Способ загрузки файлов .obj с помощью Helix заключается в следующем.

Сначала я создаю объект ModelImporter .Объект ModelImporter обрабатывает загрузку модели из файла.

Затем я просто вызываю метод Load нового объекта ModelImporter, передавая путь к файлу .obj, который я хочу импортировать, в виде строки.Метод Load возвращает Model3DGroup , поэтому я фиксирую возвращенное значение в объекте Model3DGroup.

ModelImporter importer = new ModelImporter(); 

Model3DGroup group = importer.Load(filePath);

Это все, что нужно сделать.Метод Load ModelImporter правильно обрабатывает импорт файла .obj.В методе есть логика, чтобы определить, какой файл вы пытаетесь импортировать, поэтому вам не обязательно беспокоиться об этом самостоятельно.

Что касается файла .mtl, если файл .mtl находится в том же каталоге, что и файл .obj, HelixToolkit должен обрабатывать это и для вас.Мне не нужно было ничего делать, чтобы заставить его работать.

...