Странные относительные пути, содержащие «*0\0» или «*1\0», отсекающие первые 3 символа пути при работе с файлами BlenderC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Странные относительные пути, содержащие «*0\0» или «*1\0», отсекающие первые 3 символа пути при работе с файлами Blender

Сообщение Anonymous »

Я пытаюсь создать программу для объединения моделей fbx. Каждая модель имеет несколько узлов. Некоторые из узлов имеют особое имя, означающее, что они функционируют как точки подключения для других моделей.
Я уже решил почти все, что касается слияния, за исключением проблемы с текстурами. Индексы сетки и материалов были обновлены, но когда дело дошло до текстур, на которые материалы ссылаются как на пути к файлам, я столкнулся со странной проблемой.
Чтобы решить проблему слияния моделей с разными полными путями, текстуры вызывают проблему , поскольку на них указываются относительные пути к файлу модели.
При загрузке с приведенным ниже базовым кодом:

Код: Выделить всё

// Initialize the Assimp context
AssimpContext importer = new AssimpContext();

// Load the model with desired post-processing flags
Scene model = importer.ImportFile(filePath, PostProcessPreset.TargetRealTimeMaximumQuality |
PostProcessSteps.Triangulate |
PostProcessSteps.FlipUVs |
PostProcessSteps.EmbedTextures |
PostProcessSteps.GlobalScale |
PostProcessSteps.ValidateDataStructure);
Пути, хранящиеся в материале, выглядят очень странно.
Например, относительный путь к файлу «Normal.jpg» в той же папке, что и сам файл fbx, сохраняется как «*1\0mal.jpg», еще один в подпапке .fbm с именем «GPV-2.fbm\BaseColor.jpg» как «*0\0-2 BG.fbm\BaseColor.jpg».
Чтобы мне кажется, что первые три символа в какой-то момент во время импорта перезаписываются.
Я использую пакет Assimp.NET 5.0.0-beta1.
Кто-нибудь видел подобное раньше? По какой причине пути выглядят так и как я могу это решить?
Поскольку у Assimp.NET нет проблем с загрузкой текстур, я думаю, что пути во время импорта хороши. Возможно, я мог бы как-нибудь получить полный путь из assimp?

Path.Combine Не работает. Я пытался вручную вырезать фрагменты, но пропущенные символы по-прежнему вызывают проблемы, и я бы попробовал поиск файлов, если бы ничего не помогло.
Я пытался изучить код Assimp, но не смог не могу точно найти, как он импортирует.
Я также пытался обсудить это с ChatGPT, но тоже не смог решить проблему и не смог подсказать, где искать.

Подробнее здесь: https://stackoverflow.com/questions/791 ... st-3-chara
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»