Mit welchem Programm Räume bauen

  • Guten Abend,



    ich habe folgende Frage: Wenn es darum geht Räume, oder generell Gebäude zu erstellen/ zusammen zu bauen, mache ich das in der UE, oder in einem anderen, externen Programm? Ich würde für mein Spiel gerne einen zufälligen Dungeon generieren, sowas wie in "The Binding of Isaac", aber halt nicht prozedural, sondern das da bereits vorgefertigte Räume zufällig an einander gereiht werden.


    Und hat da jemand ne Idee, wie man da am besten ran geht, unabhängig davon, ob in der UE oder in einem externen Programm?


    Danke im voraus und wünsche euch noch einen schönen Oster-Abend:)

    Look behind you! A three-headed monkey!

    • Offizieller Beitrag

    The Binding of Isaac

    Hab ich mir eben angeschaut, das ist doch eher 2D oder nicht ?


    Egal was du vorhast, ich würde sowas immer in einem 3D Programm bauen. Welches du dafür nimmst spielt keine Rolle.


    Verstehe dein Problem ehrlich gesagt nicht so ganz für mich ist deine Frage logisch und selbsterklärend.

    Was ist den dein genauen Problem ?

  • Verstehe dein Problem ehrlich gesagt nicht so ganz für mich ist deine Frage logisch und selbsterklärend.

    Was ist den dein genauen Problem ?

    Welche Methode sinnvoller ist, also ob ich mit Wände etc. einzelen importieren soll, und in der Engine zusammen setzten soll, oder ob ich alles in einem externen Programm machen soll. Ich bin mir da mit dem dem evtl Anpassen der Räume am Ende halt unsicher.


    The Binding of Isaac sollte nur ein Beispiel für das Prinzip sein. Mein Spiel ist 3D

    Look behind you! A three-headed monkey!

    • Offizieller Beitrag

    Ich weiß jetzt nicht wie du dir vorgestellt hast wie das einmal aussehen soll. Wenn du die als ein Stück Modellierst und UVs dazu erstellst, werden deine UVs sehr groß deswegen würde ich ein Modulares Raumsystem bauen bestehend aus aus_


    Wände (Gerade)

    Ecken (Als Puffer)

    Türen

    Fenster usw


    Aus diesen Meshes kannst du nun entweder im 3D Programm Räume bauen und diese Fertig als Raummesh in Unreal importieren. Oder du importierst die einzellnen teile und Generierst hieraus in Unreal per Zufall Räume.


    1.Modullares Raumsystem aus beliebigen teilen im 3D Programm (Einzelteile)

    Jedes Teil wird komplett fertig gemacht und Texturiert.

    2. Nach dem alles fertig ist, kannst du daraus in Unreal oder im 3D Programm deine Räume bauen.


    Der Vorteil ist auch wenn du alles einzeln hast, kannst du deine Levels jederzeit durch neue Meshes erweitern.

  • Ich erstelle Räume - zumindest die Wände - inzwischen meist direkt in UE4. Es macht zwar mehr Spaß in Tools wie Maya, 3ds max, Blender und co zu arbeiten, aber ich hatte oft Probleme mit den Collissions. Sprich UE4 hat nicht eingesehen daß man zwischen den Türzargen durchgehen sollte. Je nachdem wie komplex das model ist und wie man arbeitet sind die Collissions Schrott. Dann fängt man an und disabled Collissions auf alles und baut in UE4 blocking volumes ein - aber mal ehrlich - das ist ja nicht Sinn der Sache.


    Ideal ist es wie Sleepy geschrieben hat - modulare Wände die du in der Enine platzierst. Dann hast du die Freiheit die Wände schön zu modellieren und die Geometry ist simpel genug daß die Collissions passen.

    • Offizieller Beitrag

    aber ich hatte oft Probleme mit den Collissions. Sprich UE4 hat nicht eingesehen daß man zwischen den Türzargen durchgehen sollte. Je nachdem wie komplex das model ist und wie man arbeitet sind die Collissions Schrott.

    Dafür gibts mehre Lösungen:


    1.Entweder Complex collision dabei wird das Mesh selbst in den Collider umgewandelt. Dabei kann die Collision auch mal sehr sehr Komplex werden und schlecht für die Performance sein.


    2.Oder man verwendet ein eigenen Mesh für die Collsion im Prinzip wie 1. aber das Mesh ist sehr sehr viel einfacher.


    3.Oder du verwendest bei einer Tür für die Linke seite eine Collision und für die rechte Seite.

    Du hast so zwar über der Tür dann keine Collision aber das reicht vielleicht auch um den Durchgang zu finden.


    Baust du die Wände in Unreal verwendest du ja entweder lauter Würfel blöche die alle ne einfache Geometrie haben oder du verwendest die BSPs wodurch wiederum Komplexe Mesh Collider entstehen.

  • Wenn man noch mit fbx import arbeitet, dann kann man die Kollision ja auch gleich mit importieren (UCX/UBX/USX).

    Hab jetzt mal Datasmith (aus C4D) ausprobiert, da hat es leider erstmal nicht funktioniert.


    Ich werde es die Tage nochmal versuchen, da ich auch gerade in der Dokumentation (allerdings im 3dsMax Datasmith Teil) gelesen habe das es möglich ist.



  • 1. Complex Colission mach ich oft aber es gibt einfach Fälle wo Unreal nicht ganz rafft was "offen" ist und was nicht. Und COmplex Collission hat auch grenzen. ich hatte schon viele Modelle die einfach so kompliziert waren daß halt auch maximum nicht reicht. Und da es ein der Regel architektur Modelle waren (Und in meinem derzeitige Spiel kann man eh nur laufen, also ist alles ab 2 Meter Höhe meist eh uninteressant) konnte ich mit einem einzigen Blocking Volume alles lösen. Das ist in so einem Fall natürlich gleichzeitig auch das Performanteste.


    2. Das bringt meiner Meinung nach kaum etwas - meist ist das betroffene Mesh von der Geometrie her ja einfach ein Problem, langwieriges Troubleshooting ist da meist aufwändiger als ein paar Blocking Volumes zu erstellen. Aber gut ich denke hier auch nur an ein paar Wände und vielleicht Schränke. Gibt sicherlich Spiele die so komplexe collissions benötigen.


    3. Genau so platzier ich auch meine Blocking Volumes - bei einem Spiel mit einem laufenden Character spielt sich das ganze eher am Boden als an der Decke ab, das genügt vollkommen. Wenn der Spieler eine Stubenfliege wäre, dann wär das ganze schon aufwändiger.



    Wände bauen in UE4 ist nicht mal so schwer wenn man nur die reinen Wände macht. Einfache Geometrie reicht vollkommen, man kann die ja ziehen und strecken wie man will. Materialien strecke ich über die UV Parameter oder nehm prozedurale Materialien. Bei Brushes hat man noch etwas mehr Optionen - hier kann man ja für jede Seite eines Quaders separate Materialien einbinden und die bequem über die Parameter stretchen. Die BSPs sind nicht wirklich komplex (Wieviele Polygone hat ein QUader? haha Scherzfrage). Ich würde sie aber trotzdem gewohnheitsgemäß in static meshes baken.

    • Offizieller Beitrag

    Mhhh Ich hatte noch nie Probleme auch nicht bei komplexeren Geometrien.

    Wenn in den Collsion settings nicht use as complexe geometrtry eingestellt ist, kann es sein das er Complex Collision trotzdem als Simple Collison behandelt, das wäre dann genau dein Problem. Ich mir genau so wie du es beschreibt auch schon passiert.

    Wände bauen in UE4 ist nicht mal so schwer wenn man nur die reinen Wände macht. Einfache Geometrie reicht vollkommen, man kann die ja ziehen und strecken wie man will. Materialien strecke ich über die UV Parameter oder nehm prozedurale Materialien. Bei Brushes hat man noch etwas mehr Optionen - hier kann man ja für jede Seite eines Quaders separate Materialien einbinden und die bequem über die Parameter stretchen. Die BSPs sind nicht wirklich komplex (Wieviele Polygone hat ein QUader? haha Scherzfrage). Ich würde sie aber trotzdem gewohnheitsgemäß in static meshes baken.

    Schwer nicht aber und bei einfachen Geometrien auch kein Problem. Ich möchte ja nicht nur Wände aus Quader sondern auch die Highpoly um Normalmap, Curvature, Position usw zu baken.


    Ein Quader ist nicht komplex ja aber wenn du den Bool einige male verwendest, werden die Edges total polycount unfreundlich trianguliert. Woher soll die Engine auch wissen wie sie Triangulieren soll.

    Wie gesagt ich rede hier von Mehes die deutlich über Würfel hinausgehen und auch Rundungen haben. Dafür ist die Engine einfach nicht gebaut.