0

Ich lerne UE4 C++ Entwicklung und ich habe eine Idee, aber ich weiß nicht, ob das möglich ist. Ich habe zum Beispiel einen Ordner auf meinem WAMP SERVER (C: \ wamp \ www \ staticmesh \ My3DModel.3DS). Meine Idee ist, eine Schaltfläche auf meinem UE4-Widget zu erstellen und wenn es gedrückt wird, importiere ich mein Static Mesh von meinem Ordner in meine aktuelle Szene. Es ist möglich ?Wie kann ich ein statisches Mesh von einem externen Ordner laden?

OBS: weil mein Spiel wird zu schwer, so dass ich dachte, ich würde die statischen Meshs importieren und in Szene setzen in Echtzeit, ohne neben dem Spiel zu bauen. Wenn Sie eine andere Lösung oder eine Idee kennen, wird es willkommen sein. **

Wäre jemand bereit, mir Schritt für Schritt zu helfen Wie könnte ich diesen Code unten implementieren? Es ist sehr wichtig für mich, weil ich UE4 C++ lerne.

// 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

Vielen Dank für jede Antwort.

Antwort

0

Sie fragen ein wenig, ob Sie noch die Skizze gezeichnet haben. Wenn Sie bereits mehr getan haben, teilen Sie bitte die Informationen.

antwortete ich vor kurzem, was ich als Kern Teil Ihrer Frage tho identifizieren konnte -

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

Dies kennzeichnet auch den Link zum Wiki in dem der Code - wie das Netz von lokalen Laufwerk in UE4 zu bekommen Probe scheint zu kommen.

Sie vermissen die Vorlage die Person auf dem Wiki

//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())); 
} 

Da niemand hat, weiß, was selectionstrategy Sie haben Ich denke, es wird einige Standard-Datei-Browser-Dialog, ein Datei-Handle zurückkehrt ...

Alles, was Sie dann tun müssen, ist Ihre Funktion in der Widget-Schaltfläche "bei gedrücktem" Ereignis aufzurufen.

1

OBS: weil mein Spiel wird zu schwer, so dass ich dachte, ich würde die statischen Meshs importieren und in Szene setzen in Echtzeit, ohne neben dem Spiel zu bauen.

Das ist nicht möglich. Sobald Sie ein statisches Mesh importieren, wird es als .uasset-Datei in Ihrem Content-Ordner gespeichert. Wie groß sind Ihre Meshes und wie klein ist Ihre Festplatte, die Sie nicht importieren können?

Wenn Sie absolut keine Assets importieren möchten, können Sie Ihre Meshes zur Laufzeit mit diesem Plugin erzeugen: https://www.unrealengine.com/marketplace/runtime-mesh-component Beachten Sie jedoch, dass Sie mit diesem Ansatz eine Menge Extras und Optimierungen verlieren.

+1

+1 ... UE kann Dinge wie das Importieren von Rohmaschennetzwerkressourcen nicht ausführen, der Prozess der Umwandlung von Rohressource in unreales Asset, Einrichten der Referenz für das Asset und schließlich das Laden im Spiel ist extrem kompliziert. –

+0

Es sei denn, das Widget, über das gesprochen wird, wird in der Editor-Umgebung verwendet, aber ich denke, OPs "Laufzeit" bezieht sich auf die Gameplay-Laufzeit. –

Verwandte Themen