0

Я изучаю разработку UE4 C++, и у меня есть идея, но я не знаю, можно ли это сделать. У меня есть папка на моем WAMP SERVER для примера (C: \ wamp \ www \ staticmesh \ My3DModel.3DS). Моя идея - создать кнопку на моем виджетах UE4, и когда она будет нажата, она импортирует мою статическую сетку из моей папки в мою текущую сцену. Возможно ?Как я могу загрузить статическую сетку из внешней папки?

OBS: потому что моя игра будет слишком тяжелой, поэтому я решил импортировать статические сетки и поставить сцену в реальном времени, не строя рядом с игрой. Если вы знаете другое решение или любую идею, это будет приветствоваться. **

Кто-нибудь будет помогать мне шаг за шагом Как я могу реализовать этот код ниже? Это очень важно для меня, потому что я изучаю UE4 C++.

// Load Static Mesh From Path 
static FORCEINLINE UStaticMesh* LoadMeshFromPath(const FName& Path) 
{ 
    if(Path == NAME_None) return NULL; 
    //~ 

    return LoadObjFromPath<UStaticMesh>(Path); 
} 

enter image description here

Большое вам спасибо за любой ответ.

ответ

0

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

Недавно я ответил, что я мог бы определить в качестве основной части вашего вопроса Тхо - как получить сетку с локального диска в UE4 -

https://stackoverflow.com/a/41753091/5196012

Это также показывает ссылку на вики, где ваш код образец, похоже, исходит.

Вы пропускаете шаблон человек имеет на вики

//TEMPLATE Load Obj From Path 
template <typename ObjClass> 
static FORCEINLINE ObjClass* LoadObjFromPath(const FName& Path) 
{ 
    if(Path == NAME_None) return NULL; 
    //~ 

     return Cast<ObjClass>(StaticLoadObject(ObjClass::StaticClass(), NULL,*Path.ToString())); 
} 

Поскольку никто не знает, что selectionstrategy у вас есть я предполагаю, что это будет какой-то стандартный диалог выбора файлов, браузер возвращает дескриптор файла ...

Все, что вам нужно будет сделать, это вызвать вашу функцию в окне виджета «на нажатом» событии.

1

OBS: потому что моя игра будет слишком тяжелой, поэтому я решил импортировать статические сетки и поставить сцену в реальном времени, не строя рядом с игрой.

Это невозможно. Когда вы импортируете статическую сетку, он будет сохранен как файл .uasset в папке содержимого. Насколько велики ваши сетки и насколько маленький ваш диск, который вы не можете импортировать?

Если вы абсолютно не хотите импортировать какие-либо активы, вы можете генерировать свои сетки во время выполнения с помощью этого плагина: https://www.unrealengine.com/marketplace/runtime-mesh-component Обратите внимание, что при таком подходе вы теряете много дополнительных положительных эффектов и оптимизаций.

+1

+1 ... UE не может делать такие вещи, как runtime-import raw raw mesh resources, процесс преобразования исходного ресурса в нереальный актив, настройка ссылки для актива и, наконец, загрузка его в игру чрезвычайно сложна. –

+0

Если виджет OP talk about не используется в среде редактора, но я думаю, что «runtime» OP относится к времени выполнения игрового процесса. –

Смежные вопросы