Terrain hilfe benötigt

  • Hey erstmal,


    Ich hab zwar schon einige Tage in verschiedenen Videoanleitungen verbracht und habe auch selbst schon ein wenig mir der Engine rumprobiert. Ansonsten bin ich recht neu im umgang mit der Engine.


    Habe jetzt einmal versucht eine ähnliche Landschaft wie ich es in meinem Projekt plane zu erstellen doch da fängt es schon an, die ersten Probleme und fragen.


    Also jetzt zum eigentlichen undzwar wollte ich euch fragen ob es eine Möglichkeit gibt eine art "Fliegende Insel" als Landschaft zu erstellen ?
    In den meisten Videos die ich gesehen habe wird nur gezeigt wie man eben Eckige Landschaften erstellen kann aber keine abgerundeten Insel förmigen.
    Auch habe ich das Problem das ich nicht weis wie ich die Landschaft oben beispielsweise mit Bergen verschönere, gleichzeitig aber unten Das Terrain ebenfalls uneben machen kann ?


    Ich werde versuchen ein Beispiel Bild aus Google einzufügen damit ihr besser verstehen könnt was ich meine.



    So ungefähr ist die Karte geplant sprich an der Oberfläche (an die der Spieler sich befindet) soll es Seen,Berge und Wälder etc. geben aber gleichzeitg soll unten es so aussehen wie auf dem Bild.


    Hoffe ihr habt mein Anliegen verstanden und hoffe das die Frage nicht all zu dumm formuliert ist


    Schonmal danke für alle hilfreichen Antworten✌️

  • Das mit der Insel muss modeliere werden hätte aber be Idee wie du das obere verändern könntest und zwar modeliere du die nur eine Platform mit dem Fels nach unten, dann könntest du das Terrain IM Editor generieren lassen und den Felsen drunter packen. So könnte man die Oberfläche trotzdem im Editor bearbeiten. ;)


    Könnte gehen , hoffe man versteht was ich meine ;)

  • Gute idee hab daran auch selbst schon gedacht dachte nur es geht vielleicht auch anders


    Trotzdem danke noch eine frage wie kann ich dann Terrain rund erstellen ? Weil wenn ichs normal mache ist es ja immer Eckig bzw. Quadratisch also die Fläche zum erstellen ? ✌️

    • Offizieller Beitrag

    Ich fürchte das funktioniert so nicht wie du dir das vorstellst.


    Strikeback hat recht du müsstest das alles Modellieren und texturieren.
    Es gibt aber Gründe warum man fürs Terrain keine Modelle sondern eine Hightmap verwendet. Du kannst technisch gesehen auf deine gesamte Insel keine riesige Textur legen, stell dir vor du machst auf ein 16² großen Terrain eine 16000 Pixel Textur dann hättest du pro qm gerade mal ein Pixel.


    Du kannst die Insel auch aus sehr vielen einzel Modelle zusammensetzen dann hast du aber für die gesamte Insel bestimmt mehre 10000 Levelteile alleine für ein nicht eckiges runde Levelterrain.


    Mit dem UE4 Level Editor kann man auch keine runden Heightmaps darstellen.


    Wenn du richtig krass Shader Programmieren kannst dann wäre das sinnvollste so eine Fliegende Insel mit Voxeln zu generieren mit Voxel könntest du fliegende Inseln mit sehr schneller Performance bauen aber dafür sind wohl ne Menge Kentnisse mit Voxel nötig.


    Ich glaube wie gesagt nicht das so eine Insel so einfach umzusetzen ist zumindest nicht in der Größe.

  • Es gibt auch die Möglichkeit ein Mesh zu erstellen. Dieses Mesh lässt sich sogar @Runtime verändern. Wenn du das in Erwägung ziehst, dann solltest du in Mathe aber fit sein und dich mit Vectoren und Arrays auskennen.


    Die Methode ist schwer aber enorm flexibel. Der größte Vorteil ist, dass du dein Mesh skalieren kannst. Vielleicht solltest du das mal im Hinterkopf behalten für einen späteren Zeitpunkt oder wenn du keine andere Lösung findest. Anraten würd ich sie dir als Anfänger nicht. Das ist wirklich HighEndMathe.


    Wie das ganze im Ergebnis ausschaut, siehst du aktuell am Terrain von Astroneer. Natürlich sind da kaum Grenzen gesetzt.


    Die zweite Variante ist nicht ganz so flexibel aber relativ einfach zu bewerkstelligen. Modelliere deine Insel im 3DGrafikprogramm und zerleg sie so, dass die mittleren Landabschnitte keine Rundungen aufweisen. Die äuseren Abschnitte symmetrierst du um sie später auch erweitern zu können. Dann nimmst du den einfachen inneren Landausschnitt ohne Rundung, erstellst dir 4-5 unterschiedliche Versionen und lässt sie Zufallsgenerator spawnen oder setzt sie per Hand. Außenrum setzt du dann deine "runden" Teilabschnitte, die zur Insel führen. Unten drunter kannste ja bauen was du willst, da kommt der Spieler ja sicher nicht hin. Falls doch, dann verfährst du wie bei deiner oberen Karte.

  • Du kannst auch dem Terrain ein Landscape Hole Material zuweisen, dann im TerrainSculpt Modus dort das VisibilityTool verwenden für den Rand.
    Genauere Information findest du unter Terrain Holes:


    https://docs.unrealengine.com/…ml#landscapeholematerials


    Hier ein Screenshot, ich habe es probiert, weil mich deine Frage auch neugierig gemacht hat, ob das möglich ist.
    Bei mir sieht es schlecht aufgelöst aus, weil ich die niedrigste Terraingrösse gewählt habe, da mein PC sehr alt ist und in die Knie geht. Soll heissen, es kann besser aussehen als auf meinem Bild.
    Für die Teile unten musst du dann halt Modelle erstellen oder Sprites, je nach dem, wie nach man das sehen kann.

  • Weil ich grad die Antwort von XingPingling gelesen habe. Seine Methode ist auch gut, dann solltest noch WorldComposition einschalten. Dann steht deiner Insel nichts im Wege. Bei WorldComposition erstellst du ein PersistentLevel und innerhalb dieses Levels erstellst du eine beliebige Anzahl an untergeordneten Levels/Maps. Jede Map erhält ein Landscape und in der Compositionübersicht arrangierst du sie alle, dann verfährst du so, wie es XingPingling sagt und formst dein Landscape und machst es über die Hole-Mechanik "rund".


    Dieses System ist natürlich fast noch besser als mit den Meshes. Da lassen sich natürlich auch detailierte Maps über das Levelstreaming reinladen und modelieren. Tja manchmal braucht man wirklich nur nen Denkanstoss :D

    • Offizieller Beitrag

    Und wie macht ihr dann die Unterseite der fliegenden Insel ?
    Man könnte zwar ein zweites Terrain auf den Kopf drehen aber ich bezweifel das man das Stitching verknüftig hinbekommt. EIne Fliegende Insel besteht ja nicht nur aus einem OBEN und EINEM unten sondern eigentlich aus 6 Seiten.


    Wie auf dem Bild oben wird das so niemals aussehen glaub ich nicht.

  • die Unterseite spielt doch nur dann wirklich ne Rolle, wenn die irgendwie ins Spiel eingebunden werden soll. Wenn das nur von weitem so ausschaut, dann bastelst da einfach nen Mesh drunter. Stitch interessiert doch da keine Sau bei der Entfernung. Erst wenn es ein Spiel mit Flugzeugen oder fliegenden Spielern wird, dann wird das erst interessesant. Bei ner Zoomstufe nicht.


    Ansonsten kann man Stich immer mit Steinen oder Wasser/Wasserfällen überdecken oder sogar Gras oder so einem Kram. Da würd ich mir bei der Größenordnung keine Sorgen machen.

  • Da unser Projekt auf fliegenden Inseln basiert, kann ich dazu auch was sagen. Yay. :D


    Wir haben angefangen mit 2 Landscapes aufeinander. Eins für die Oberfläche, eins für die Unterseite.


    Das ergab eine katastrophale Performance.


    Danach haben wir kleinere Inseln modelliert und mit einem Layerblend Material manuell bemalt. Sah bescheiden aus. Aber war schon mal eine Lösung. Haben wir aber verworfen.


    Nächster Ansatz war ein Landscape zu nehmen und an den Rändern riesige Stein Meshes zu verbasteln. Das ist eine sehr gute Lösung, wenn man einen Leveldesigner hat. Auf unserer Facebookseite ist das Ergebnis zu sehen.


    Haben wir aber mittlerweile auch wieder verworfen...
    Aktuelle Lösung ist:
    Die Insel wird komplett im 3D Programm gemodellt. Die Größe ist dabei fast egal. Und als Material haben wir etwas Mächtiges erstellt. Inklusive Distance Fading (gegen den Kachelungseffekt) mehreren verschiedenen Layern die anhand der Worldcoordinates arbeiten. Das Ergebnis ist mittlerweile ganz ordentlich geworden. Ich kann heute Abend mal einen Screen posten.


    Fazit: Es gibt sehr viele verschiedene Möglichkeiten. Man muss für sich selbst entscheiden wie viel Arbeit man rein stecken will und wie detailliert das Ergebnis sein soll.
    Mein Favorit ist die Lösung mit den Stein Meshes an der Unterseite. Weil es einfach und schnell ist.


    Besser sieht aber unsere aktuelle Lösung aus. Das Material ist halt sehr kompliziert. Mal schauen ob ich das veröffentlichen darf.

  • Sieht man deine Insel auch von unten oder bleibt der Spieler die ganze Zeit auf der Oberfläche?
    Wie Groß soll die Insel sein?
    Hast du überhaupt Erfahrungen in einem 3D Programm?


    Je nachdem wie die Antwort auf diese Frage ausfällt, würde ich dir eine andere Herangehensweise empfehlen.

  • Da schreib ich so viel Text und man bekommt nichtmal ne Rückmeldung. Schade.


    Nagut.


    Hier mal 3 Screenshots die mein aktuelles Material zeigen.
    Es ist World aligned.
    Die "Wand" besteht aus nur einem Mesh, das mehrmals kopiert und rotiert wurde.


    Der weisse Würfel, der da zu sehen ist, hat eine Kantenlänge von 10 Metern, damit man mal die Dimensionen einschätzen kann.


    Das Material hat 1 Distance Blend mit drin, der das Tiling ändert, sobald man sich nähert.


    Sehr performant ist es ausserdem.


    Also damit lassen sich auf jeden Fall fliegende Inseln erstellen - um mal die Ursprungsfrage zu beantworten.




  • Hey,


    Sorry das ich lang nicht geantwortet habe. Hab nach langem probieren die Spielidee verworfen da das glaub ich für eine anfänger ohne 3D modellierungs kenntnisse zu viel ist.


    Hab danach dieses Thema ganz vergessen.


    Kann soweit eigentlich geschlossen werden :)