Jump to content
Unity Insider Forum

Eckige Map, nicht abgerundet.


FlorianJ

Recommended Posts

Hey,

 

ich habe wieder mal ein Problem. Ich versuche seit Tagen ein mit der World Machine erstelltes Terrain in Unity einzufügen - allerdings habe ich immer wieder Probleme.

 

Erstmal mein Terrain in WM: http://i.snag.gy/JmwSg.jpg

 

Dann habe ich es als .RAW Datei gespeichert und hinzugefügt, dann sah es so aus: http://i.snag.gy/2vr1B.jpg

Dann habe ich es als .r16 Datei gespeichert und importiert, dann sah es so aus: http://i.snag.gy/KqATD.jpg

Es sieht viel besser aus, hat aber immer noch diese kleinen Ecken, kann man das irgendwie noch besser hinkriegen?

 

Resolution ist 2049x2049 (+1)

 

Auch merke ich, dass sich das Wasser (Water 4 Advanced) nicht an das Terrain anpasst, bzw die Wellen, genau so wie wenn ich mit der SceneCamra durch die Gegend fliege merke, das das Terrain ziemlich rumflackert. Hat jemand eine Idee?

 

 

grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

Um zu verstehen wie Engines arbeiten solltest du einige Hintergrund Informationen haben:

 

WM generiert dir ein Mesh aus sehr vielen Polygonen deswegen verwendet man in der Spieleentwicklung einen Trick damit ein komplexes Terrain (mit vielen Tris) verwendet werden kann ohne das der Rechner in die Knie geht.

 

Würdest du dein Terrain als Objekt zb als OBJ oder FBX importieren, dann hättest du ein riesen Terrain mit extrem vielen Polys.

Deswegen wird dein Terrain tesseliert.

 

Das bedeutet Unity baut das Terrain nur an der Stelle zu einem 3D Mesh auf wo sich der Planer befindet.

Im Unity Viewport wird das Terrain zwar als 3D Mesh angezeigt aber im Playmode ist dein Terrain flach wie eine Scheibe und wird nur im Sichtbereich zu einem 3D Terrain aufgebaut.

 

Genau deswegen nutzt man für Terrains kein Terrain Objekt sondern eine Highmap.

 

Jedes Pixel deiner Highmap wird auf eine bestimmte Höhe gebracht umso feiner deine Abstufungen von Schwarz zu Weiß umso runder wird Terrain.

 

Das selbe gilt für die Textur für dein Terrain.

Nehmen wir an du hast ein Terrain das 4096 * 4096 Meter groß ist.

Würdest du darauf eine 4k Textur machen dann hättest du pro qm 1 Pixel dies ist natürlich absolut nichts für Spiele. :)

 

Deswegen nutzt man für Spiele Terrains das sog. Vertexpaint. Das heißt es werden über dein Terrain verschiedene Texturen gelegt zb Grass, Erde, Sand usw.

Über das Vertex Paint wird nun festgelegt an welchem Vertex welche Textur sichtbar ist.

Du kannst dir das wie eine Maske in Photoshop vorstellen.

 

Es wird also nicht eine riesen Textur über das ganze Terrain terrain gelegt sondern mehre Texturen mit einer Kachelung über einander gelayert.

 

Genau das selbe machst du im Prinzip wenn wenn in Unity dein Terrain mit dem Pinsel anmalst. Mit dem Pinsel sagst du Unity nur an welcher Stelle welche Textur sichbar sein soll.

Daraus entsteht dann eine sog. Splatmap:

 

Die Splatmap ist eine Farbe Maske mit der definiert ist welche Textur wo hindurch kommt.

 

Am besten mal das hier anschauen das ist selbst klärend:

https://www.world-machine.com/images/wm23/splatmap.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hatte WM vor 1 - 2 Jahren mal getestet deswegen kann ich dir nur grob den Weg zeigen.

 

1. Musst du die Hightmap aus WM exportieren.

2. Musst du in Unity ein Terrain erstellen und in den Terrain Einstellungen die Hightmap laden.

3. Die Splatmap aus WM exportieren und in Unity laden.

 

Auf Youtube gibts dazu auch einige Tutorials.

 

Alternativ kannst du dein Terrain auch direkt in Unity erstellen dazu gibt es hier ein nettes Tutorial:

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist nicht so einfach und Ich hab das selbst noch nicht getestet dafür gibt es mehre Ansätze:

 

Auf der WM-Seite gibt es ein Script mit dem man das machen. Du musst das selber mal testen.

 

https://www.world-machine.com/images/workflow/WorldMachineUnitySplatmap.zip

 

https://www.world-machine.com/learn.php?page=workflow&workflow=wfunity

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...