Jump to content
Unity Insider Forum

Terrain platziert Trees nicht richtig


uumli

Recommended Posts

Hallo Leute, ich habe gerade zum erstem mal das Treebrush-Tool des Unity-Terrains ausprobiert, da ich die Bäume in meinem Projekt ungern alle einzeln platzieren möchte.

Leider funktioniert dieses Tool (bei mir) nicht wie erwartet. 

Die Bäume sehen qualitativ schlecht aus und schweben als Sprites in der Luft. Sie werden auch nicht vollständig angezeigt. Collider werden ebenfalls ignoriert.

Um es besser begreiflich zu machen, habe ich hier ein Screenshot für euch.

5953a3a1c4bd7_Bildschirmfoto2017-06-28um14_34_00.thumb.png.1cc5f93b8dbd07e22560defe26877a3d.png

So sieht das jetzt in meinem Projekt aus. Ein von mir platzierter Baum in der Mitte und die mit dem Terrain-Tool erstellten außen. 

Könnt ihr mir sagen, wie ich das richtig hinbekomme? Habe mir auch schon ein paar Videos angeschaut, wo es richtig geklappt hat.

 

Vielen Dank :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

Hallo Vermentex!

Keine Ahnung welche Unity-Version Du benutzt, oder ob das obige Bild eine 2D Darstellung ist. Solche Trees habe ich noch nie gesehen, es sei denn, wir sprechen von einem alten Commodore C64.....und deren alten Programme. Um ganz ehrlich zu sein, ich tappe da voll im Dunklen, aber für mich ist das noch nicht einmal annähernd die Leistungsfähigkeit von Unity und dem Terrain-Tool. Hier einmal ein kleines Beispiel: Diese Szene habe ich noch nicht einmal in 5 Minuten dargestellt. Wenn diese Szenerie Deiner Vorstellung entspricht, dann melde Dich bitte noch einmal. Gerne würde ich Dir dann die einzelnen Schritte erläutern wollen!

TreesUnity.JPG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Terrains optimieren stark, dafür sind sie da. Ansonsten könnte man Terrains samt allem ja auch als normales Mesh einfügen. Eine dieser Optimierungen ist, dass Bäume ab einer besimmten Distanz durch 2D-Pappaufsteller ersetzt werden. Diese sind spottbillig zu rendern und erlauben dadurch, dass die Bäume nicht komplett despawnen müssen, wenn sie weit weg sind. Denn alle Bäume in voller Qualität zu rendern, kostet mehr Performance, als die allermeisten Rechner leisten können. Zumindest, wenn man eine ganze Menge davon hat.

Der Knackpunkt ist nun, diese Weite richtig einzustellen, ab der Pappaufsteller ("Billboards") eingeblendet werden. Die Einstellung findest du in der Terrain-Komponente. Gesucht ist "Billboard Start". Bedenke aber, dass dieses Limit nicht ohne Grund existiert. Wenn du das Ding einfach voll aufdrehst, wird die Performance in Mitleidenschaft gezogen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Sascha: Moin, Moin erst einmal!

Stimmt genau Sascha, das Problem kenne ich sehr gut und habe da auch so meine Erfahrungen damit gemacht. Da ich aber immer riesige Map's erzeuge, wie z.b. 10 * 10 km, weil ich unter anderen sehr dichte Wälder erzeugen will, bekomme ich ein ganz anderes Problem: Sobald ich nämlich einen FirstPerson-Controller plazieren will, fällt mir dieser durch das Terrain in das Unendliche. Lt. Aussage eines Softwarehauses kommt Unity in nur einer begrenzten Weise mit den Collidern der Bäume um. Ehrlich gesagt, die Ursache ist mir schleierhaft und konnte diese noch gar nicht nachvollziehen. Meine Hoffnung ist nun, das dieses Problem durch die neueste Version von Unity abgemildert wurde.

Aber zurück zu dem obigen aktuellen Problem: Damit man keine Performance-Probleme bekommt, empfehle ich eine unbedingte Vorbereitung der Bäume. Im obigen Beispiel habe ich lediglich die Standard-Bäume von Unity benutzt, welche von Speed-Tree erzeugt wurden. Diese haben folgenden Vorteil:Im Inspector kann man die Lod's einfach nach links verschieben! Wie bereits bekannt, sind die LOD's die Abkürzung für Level of Detail. Man verschiebt also mittels Cursor alle LOD's nach links und danach unbedingt den Button Apply drücken, da ansonsten die Veränderungen nicht generiert werden. Dieser Schritt bringt schon einmal einen erheblichen Teil der Performance-Verbesserung. Ist man mit dem Ergebnis noch nicht zufrieden, kann man im zweiten Schritt die Materials bearbeiten, um im Inspector die Max Size der Texturen zu reduzieren. Nachdem die Texturen verändert wurden, noch einmal bei den Bäumen im Inspektor auf den Button Regenerate Materials drücken, weil ansonsten kein vernünftiges Ergebnis zur Veränderung der Texturen generiert wird.

@Vermentex: Wie gesagt, ich stehe Dir zur Hilfe bereit. Schön wäre es, wenn Du zuvor den TeamViewer 12 installieren würdest, dann wäre eine Hilfeleistung effektiver. Den TeamViewer erhälst Du hier, der übrigens sofern die Anwendungen privat sind, kostenlos ist:Download Teamviewer

Nachstehend noch einmal die Inspector-Darstellungen zur Veränderungen der LOD's und deren Texturen:

InspectorLODs.JPG

Texturen.JPG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte werft Unity Tree's und "Speedtree" nicht in einen Topf. Unity Tree's sind kostenlos und können über die Unity Engine erstellt werden und nutzen Billboarding wie Sascha beschreibt. Speedtree ist eine Software der Firma IDV, die recht teuer ist (sowohl für das Kaufen einzelner Trees, als auch für die Verwendung dieser Software für das Erstellen von Tree's) und ein völlig verändertes System für die Darstellung von Tree's auf dem Unityterrain verwendet. Ich persönlich finde es sehr Schade, daß Unity ihr eigenes System nicht modernisiert. Hier wie Speedtree LODs in ihr eigenes System einzuführen, sollte nicht das Problem sein, ich befürchte allerdings leider, daß hier kommerzielle Interessen im Spiel sind und eine Art Kooperation zwischen Unity und der Firma IDV besteht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

@Zer0Cool: Stimmt, da muß ich Dir leider Recht geben. Speed-Trees sind eine relativ teuere Sache. Aber die Bäume, die ich hier in meinem kleinen Fallbeispiel dargestellt habe, sind kostenlos. Ich habe hier auch in Sachen Bäume so meine leidlichen Erfahrungen machen müssen, so knickten ein paar Bäume in meiner Laufrichtung um. Ein sehr ärgerlicher Effekt und sah gar nicht schön aus. Bei einem anderen Produkt musste man noch die Collider nachträglich einbauen, was sehr zeitaufwendig war. Ein weiterer Effekt tritt zudem auch noch immer dann auf, wenn man mühselig die einzelnen Collider einsetzt und dann den Gebrauch des Schiebereglers benutzt, um die Baumgröße zu variieren. So konnte man dann bei einem Test klar bemerken, dass bei kleineren Bäumen der Collider schon viel früher wirkte. Kein schöner Effekt.

Zeit ist eben Geld und man sollte sich bei gewissen Anschaffungen genau überlegen, ob Aufwand und Ertrag in einem vernünftigen Verhältnis stehen. Das ist leicht gesagt, wenn ein neuer Unity-Einsteiger keine Vergleichsmöglichkeit hat. Da kann es durchaus vorkommen, dass man anfangs viel Lehrgeld bezahlt. Wie bei allen neuen Erfahrungen. Das läßt sich leider nicht vermeiden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das sehe ich aber nicht so. Vermentex schreibt, dass seine Bäume qualitativ schlecht aussehen, und er bittet auch um Hilfestellung, wie er es besser hinbekommen kann. Diese Hilfestellung und noch eine direkte (via Teamviewer), habe ich ihn angeboten. Es kann mir aber nicht als Fehler, oder Fehlverhalten  ausgelegt werden, wenn ich auf die Äusserung meines Vorschreibers eingehe. Das ich da lieber mit Speedtree arbeite, ist ganz und gar meine persönliche Erfahrung, was aber nicht heißt, das ich Speddtree favorisiere. Es kann mir nicht negativ ausgelegt werden, wenn ich auf Grund meiner Erfahrung, die nicht immer positiv waren, neuen Unity-Usern auf gewisse Umstände aufmerksam machen will. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, ich bin auch an der Ursprungsfrage vorbei, aber noch einmal dahin zurück. Ich denke Vermentex konstruiert (mit Absicht) eine Pixellandschaft und daher geht es hier nicht primär um die Auflösung oder die Qualität der Szene insgesamt. Wir wissen auch zu wenig, was Vermentex konkret für Baummodelle verwendet. Grundsätzlich zeichnet das Terraintool Baummodelle mit einer anderen Technik als wenn man die Bäume einzeln setzt, daher hängt es stark von der Baumprefab ab, wie der Baum dann tatsächlich gezeichnet wird. Ich würde hier auch noch einmal die Einstellungen des Terrains prüfen ("Billboard Start" und "Fade Length"), weil diese sorgen für ein Umschalten der Bäume von einem Mesh auf "Billboards" (ab einem bestimmten Abstand der  Bäume zur Kamera) und wenn hier die Billboards (=Darstellung des Baummeshes als Billboard-Sprite) viel zu früh angewendet werden, dann könnte das diese "Sprites" (sehr flächig wirkende Darstellung des Baumes) erklären.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 months later...

Danke nochmal, für eure Hilfe. Habe mich jetzt wieder diesem Projekt zugewandt. Zer0Cool hat mir die Lösung gezeigt. Einfach "Fade Lenght" hochstellen. War bei mir zu niedrig. Danke :)

 

*Hinweis: Mir ist bewusst, dass Unity bessere Bäume darstellen kann. Ich versuche aber absichtlich einen Pixelstil zu generieren. Ich möchte damit nicht versuchen den beste Grafik Preis zu erhalten. Ich bin Fan von Pixel/Voxel-Games und möchte diesen Stil verwenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...