Рекомендации по экспорту модели
Перед экспортом 3D-модели из приложения для 3D-моделирования, например Blender, следует учесть некоторые соображения, чтобы модель соответствовала соглашениям и передовым практикам Godot.
Условные обозначения направления 3D-активов
Godot использует правостороннюю систему координат с осью Y вверху, где ось -Z соответствует направлению движения камеры вперёд. Это аналогично OpenGL. Это означает, что для камеры ось +Z — назад, +X — вправо, а -X — влево.
Принято, что 3D-ресурсы должны быть обращены в противоположном направлении от камеры, поэтому персонажи и другие ресурсы по умолчанию обращены к камере. Это соглашение чрезвычайно распространено в приложениях 3D-моделирования и кодифицировано в glTF как часть спецификации glTF 2.0. Это означает, что для ориентированных 3D-ресурсов (таких как персонажи) ось +Z является направлением передней стороны, поэтому -Z — это задняя сторона, +X — левая сторона, а -X — правая сторона для 3D-ресурса. В Blender это означает, что +Y — задняя сторона, а -Y — передняя сторона для ресурса.
При вращении ориентированного 3D-актива в Godot используйте параметр use_model_front в функциях look_at и константы Vector3.MODEL_* для выполнения вычислений в локальном пространстве ориентированного актива.
Для ресурсов без внутренней передней стороны или направления вперёд, таких как игровая карта или ландшафт, вместо этого учитывайте стороны света. В Godot и подавляющем большинстве других приложений принято, что +X — это восток, а -X — запад. В Godot ось Y расположена справа, поэтому +Z — это юг, а -Z — север. В Blender это означает, что +Y — это север, а -Y — юг.
Экспортирование текстур раздельно
Хотя текстуры можно экспортировать вместе с моделью в определённых форматах, например, glTF 2.0, их также можно экспортировать отдельно. Godot использует PBR (физически корректный рендеринг) для своих материалов, поэтому, если программа текстурирования может экспортировать PBR-текстуры, они будут работать и в Godot. К ним относятся Substance Suite, ArmorPaint (с открытым исходным кодом) и Material Maker (с открытым исходным кодом).
См. также
Более подробную информацию о материалах Godot см. Стандартный материал 3D и материал ORM 3D.
Размышления о экспорте
Поскольку графические процессоры могут отображать только треугольники, сетки, содержащие квадраты или N-угольники, должны быть триангулированы, прежде чем их можно будет визуализировать. Godot может триангулировать сетки при импорте, но результаты могут быть непредсказуемыми или неверными, особенно с N-угольниками. Независимо от целевого приложения, триангуляция перед экспортом сцены приведет к более согласованным результатам и должна выполняться по возможности.
Чтобы избежать проблем с некорректной триангуляцией после импорта в Godot, рекомендуется настроить программу для 3D-моделирования на самостоятельную триангуляцию объектов. В Blender это можно сделать, добавив к объектам модификатор «Triangulate» и убедившись, что в диалоговом окне экспорта установлен флажок Apply Modifiers. Кроме того, в зависимости от экспортера, вы можете найти и включить параметр Triangulate Faces в диалоговом окне экспорта.
Чтобы избежать проблем с 3D-выделением в редакторе, рекомендуется перед экспортом сцены применить преобразование объекта в программе для 3D-моделирования.
Примечание
Важно, чтобы при экспорте сетка не деформировалась костями. Перед экспортом с помощью вашего любимого 3D-редактора убедитесь, что скелет сброшен в Т-образную позу или позу покоя по умолчанию.
Вопросы освещения
Хотя можно импортировать источники света из 3D-сцены с использованием форматов glTF, .blend или Collada, обычно рекомендуется проектировать освещение сцены в редакторе Godot после импорта сцены.
Это позволяет более точно оценить конечный результат, поскольку разные движки визуализируют свет по-разному. Это также позволяет избежать проблем со слишком ярким или тусклым светом в результате импорта.