Jump to content
Unity Insider Forum

Mesh -> Mass place von Objekten


swat243

Recommended Posts

Hallo,

 

 

 

ich habe folgendes Problem. Ich habe meine Map(Stadt) in Blender erstellt und habe das Terrain von Unity deswegen auch garnicht gebraucht. Das Hauptproblem ist, dass es z.b bei Bäumen,Büschen und Grass es recht aufwendig ist als per Hand drauf zu dragen und die Frage wäre, ob die mass place Option von Terrain auch auf

einem Mesh durchführbar wäre ?

 

 

Danke im Voraus :D

 

 

MFG

 

Marcel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Nein, es gibt aber Assets aus dem Unity Store die so etwas können (zumindest mit Meshes und Bäumen). Es gibt auch Vegetations- und oder "Gras"-Assets mit denen du Gras auf beliebige Meshes legen kannst.

 

https://www.assetsto...!/content/45188

 

Eine gängige Variante ist dein Terrain aus Blender in Unity über eine Heightmap zu übernehmen und dann das Unityterrain nur für das Pinseln der Bäume und des Grases zu verwenden, das eigentliche Terrain (Terrainmesh) in Unity blendet man einfach aus. Für diese Methode sollte dein Terrain aus Blender dem Terrain in Unity dann so ungefähr entsprechen.

 

Vielleicht genügt diese Methode um eine passende Heightmap zu erzeugen, die sich dann in Unity importieren lässt:

https://wiki.blender...ap_from_a_Plane

 

Ich vermute normalerweise wird das Terrain in Unity erzeugt und dann das Unityterrain als 3D-Mesh exportiert und in der 3D-Software verwendet um darauf die Szenerie aufzubauen, somit umgeht man das Problem nachträglich eine Heightmap für Unity zu erzeugen (die dann evtl. nicht exakt zum Terrainmesh passt).

 

Hier noch eine andere Variante weiter unten beschrieben:

https://blenderartis...from-plane-mesh

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was ist dann mit Löchern auf den Mesh ? Weil ich bewusst das Terrain für mein Game in Blender gemacht habe, da es auch Unterirdisch geht :blink:.

 

 

Theoretisch könnte man jah auch ein Script machen, wo man während des Games rum fliegt und Massplacing macht, aber hätte jetzt gehofft, das es auch intern geht ohne Scripts.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst den Collider des Unityterrains ebenfalls deaktivieren, die Löcher werden also über dein Mesh bestimmt. Du verwendest ein Unityterrain also nur um Gras und Bäume anzuzeigen (und Detailmeshes). Du kannst auch mehrere Unityterrains verwenden, wenn du mehrere Ebenen hast, da gibt es keine Restriktionen. Du darfst auch nicht vergessen, das Windzones und Performanceoptimierungen auch nur über das Unityterrain funktionieren, wenn du Bäume und Grass "per Hand" setzt hast du generell erst einmal keinerlei LOD System. Ansonsten ist eben das oben erwähnte Asset eine Alternative (es gibt auch noch andere Assets).

 

Ein kostenloses System für Vegetation auf beliebigem Untergrund (Mesh) kannst du im Unity Blacksmith Demo finden, siehe Abschnitt unter "Vegetation" (ist aber schlecht dokumentiert und man muss sich die Komponente selbst "zusammensammeln"):

https://blogs.unity3d.com/2015/06/24/releasing-the-blacksmith/

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank für die Antwort :)

 

Ich habe mich jetzt entschieden, ein Unity Terrain zu nehmen, da ich mein Karte dann auch schöner anmalen kann und es nicht nur einseitiges Grass ist :D Das Problem mit den Hole machen Löse ich mit einem Shader(*12) und wenn man durch das Terrain muss =Terrain Collider Trigger.

 

(*12)

Shader "Depth Mask Simple (Terrain)" {
 SubShader {
   Tags {"Queue" = "Geometry+10" } // earlier = hides stuff later in queue
   Lighting Off
   ZTest LEqual
   ZWrite On
   ColorMask 0
   Pass {}
 }
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...