Войти
Unreal EngineФорумArt

[UE4] Stingray Material to Unreal Engine

#0
22:35, 21 фев. 2017

Хочется чтобы fbx модели экспортированные из 3ds max с directX материалом Stingray. экспортировались в Unreal. Начал копать в эту сторону.
В \Engine\Source\Editor\UnrealEd\Private\Fbx\FbxMaterialImport.cpp никаких намёков на поддержку этого типа материала нет. Что там в Autodesk обещали вводя Game Exporter, непонятно. Со стороны Unreal никакой поддержки нет. А так это обычный FBX экспорт со своим интерфейсом.
Вот думаю начать разбирать fbx атрибуты которые отвечают за те или иные текстуры Stingray материала и попробую потихоньку запилить импорт.
Зачем это всё надо - хочется в 3ds max использовать pbr материалы и не париться при экспорте со Standart материалом.
Была идея во время экспорта переводить Stingray материал в Standart и потом уже экспортировать. Но это запасной вариант. Нужно будет писать MaxScript и запускать его перед экспортом.


#1
10:39, 22 фев. 2017

Пока сделал чтобы из 3DS Max экспортировались все текстуры из Standart материала.

Добавил строки в метод:
void UnFbx::FFbxImporter::CreateUnrealMaterial(FbxSurfaceMaterial& FbxMaterial, TArray<UMaterialInterface*>& OutMaterials, TArray<FString>& UVSets, bool bForSkeletalMesh)

В файле \Engine\Source\Editor\UnrealEd\Private\Fbx\FbxMaterialImport.cpp

строки 745 - 756

CreateAndLinkExpressionForMaterialProperty(FbxMaterial, UnrealMaterial, 
    FbxSurfaceMaterial::sSpecularFactor, UnrealMaterial->Roughness, false, UVSets, FVector2D(140, -228));

CreateAndLinkExpressionForMaterialProperty(FbxMaterial, UnrealMaterial, 
    FbxSurfaceMaterial::sShininess, UnrealMaterial->Metallic, false, UVSets, FVector2D(140, -228));

Теперь если назначить текстуры в 3ds max:
Изображение

То в Unreal будет вот так:
Изображение

Текстуры Opacity и SelfIllumination также работают.

#2
14:14, 22 фев. 2017

А как же наш любимый Юнити ?!

#3
21:40, 22 фев. 2017

Запилил скрипт для преобразования между Stingray и Standart материалом.
В 3ds max можно будет работать с PBR материалами Stingray, а перед экспортом в Unreal делать преобразование в Standart материал (и потом наоборот). Unreal прочитает всё.

https://forums.unrealengine.com/showthread.php?137662-Here-script… &p=670681

+ Показать

Изображение
Unreal EngineФорумArt

Тема в архиве.