Как добавить информацию в материал с помощью движка UnrealC++

Программы на C++. Форум разработчиков
Anonymous
 Как добавить информацию в материал с помощью движка Unreal

Сообщение Anonymous »

В моем приложении я получаю информацию о материалах по сети, после чего мне нужно создать с ее помощью материал. пока что я создаю материал в коде, но понятия не имею, как добавить текстуру шероховатости + интенсивность, текстуру металличности + интенсивность, карту нормалей…
вот код, который я написал для создания материала.

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

struct MaterialMetha
{
bool side;
bool transparent;
float opacity;
FString map;
FColor color;
FString roughnessMap;
float roughness;
FString metalnessMap ;
float metalness;
FString emissiveMap;
FColor emissive;
float emissiveIntensity;
FString normalMap;
};

bool AShapeGenerator::GenerateMaterial(FString id, MaterialMetha metha)
{
FString name = FString(TEXT("Material_")) + id;
FString path = FString(TEXT("/Game/Material/Generated/"));
FString packageName = path + name;

UPackage * package = CreatePackage(*packageName);
UMaterial* mat = NewObject(package, FName(*name), RF_Public | RF_Standalone);

mat->AddToRoot();
#if WITH_EDITOR
mat->PreEditChange(nullptr);
mat->PostEditChange();
#endif
FAssetRegistryModule::AssetCreated(mat);
package->FullyLoad();
package->SetDirtyFlag(true);

return true;
}
Когда я получу материал через сеть, он появится в редакторе с нереальными значениями по умолчанию. Теперь вопрос в том, что я хочу сделать, это заполнить его значением из структуры MaterialMetha, и я не знаю, где найти информацию
Спасибо за уделенное время.

Подробнее здесь: https://stackoverflow.com/questions/790 ... eal-engine

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