Elharter Geschrieben 3. Dezember 2020 Melden Share Geschrieben 3. Dezember 2020 Hallo, kann sich das jemand erklären: Manchmal ist es wirklich mühsam....hatte ich noch nie. lg Mike Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 3. Dezember 2020 Melden Share Geschrieben 3. Dezember 2020 Mach mal Wireframe Mode in der Scene View an. Ich vermute, dass die Terrain-Tessellation während der Bearbeitung temporär ausgeschaltet wird. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Elharter Geschrieben 3. Dezember 2020 Autor Melden Share Geschrieben 3. Dezember 2020 Weird.... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Elharter Geschrieben 3. Dezember 2020 Autor Melden Share Geschrieben 3. Dezember 2020 Das beantwortet auch mein Lichtproblem.....zoom ich raus, werden die Meshes größer und somit die Bereiche weniger (8 gleichzeitige Lampen). Zoom ich rein, werden die Meshes kleiner und es haben wieder 8 Lampen platz pro Vertex. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 4. Dezember 2020 Melden Share Geschrieben 4. Dezember 2020 Nice! Dann kannst du jetzt schauen, ob du einfach die Tessellationsdistanz hochstellst. Tessellation gibt's ja nicht ohne Grund, ist quasi LOD für das große Objekt, das ein Terrain nun mal ist. Aber gerade bei Top-Down kann man da eigentlich gut drauf verzichten. Eine Alternative wäre also vermutlich, dass du das Terrain durch ein oder mehrere Meshes ersetzt. Bei mehreren Meshes kann Unity automatisch mit Frustum Culling die Teile ausblenden, die nicht im Bild sind. Es gibt auch einige Tools für's Konvertieren von Terrain nach Mesh. Vielleicht kannst du dir da einen Workflow erstellen, mit dem du den Terrain Editor weiter benutzen kannst. Oder du benutzt ProBuilder für dein Terrain Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Elharter Geschrieben 4. Dezember 2020 Autor Melden Share Geschrieben 4. Dezember 2020 Das Terrain wird vollständig prozedural erstellt....ich müsste also etwas wie eine nachträgliche Meshzerlegung einbauen! gute Idee! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 4. Dezember 2020 Melden Share Geschrieben 4. Dezember 2020 Wenn du das sowieso prozedural machst und entsprechend die Editor-Terrain-Tools gar nicht nutzt, dann kannst du auch gleich Meshes generieren und dir den Umweg sparen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Elharter Geschrieben 4. Dezember 2020 Autor Melden Share Geschrieben 4. Dezember 2020 Mhhh... nun mit den Meshes tu ich zum jetzigen Zeitpunkt gar nichts. Ich lade die Textur und die dazugehörige Heightmap, platziere Objekte usw > fertig Ich wüsste also zum jetzigen Zeitpunkt nicht wo ich hier ansetzen sollte. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 5. Dezember 2020 Melden Share Geschrieben 5. Dezember 2020 Meshes generieren ist nicht schwer. Du machst ein neues Mesh-Objekt und fütterst da ein Paar Arrays rein: Vertices, Triangles, UVs, Normals. Das Mesh stopfst du in einen MeshFilter und fertig! Schau mal hier: Mesh Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Elharter Geschrieben 8. Dezember 2020 Autor Melden Share Geschrieben 8. Dezember 2020 Nun gut und wo tu ich das Mesh dann hin??? Das Terrain verwendet ja nen eigenen oder? Zumal die vorhandenen Terrainmeshes sich ja auf die Heightmap beziehen!? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 8. Dezember 2020 Melden Share Geschrieben 8. Dezember 2020 Am 5.12.2020 um 07:46 schrieb Sascha: Das Mesh stopfst du in einen MeshFilter und fertig! So, wie du die anderen Objekte in deiner Szene auch hast: MeshFilter und MeshRenderer. Vermutlich bietet sich ein Prefab an, um die Einstellungen im MeshRenderer parat zu haben. Dann machst du GetComponent<MeshFilter>().mesh = myMesh; und schon hast du ein selbstgemachtes 3D-Modell in deiner Szene. vor 7 Stunden schrieb Elharter: Zumal die vorhandenen Terrainmeshes sich ja auf die Heightmap beziehen!? Eine Heightmap ist auch nur eine Menge an floats, die jeweils einen Höhenwert pro Position auf dem Boden darstellen. Wenn du dir eine Plane baust, dann kannst du für jeden Punkt einfach die Höhe übernehmen. var mesh = new Mesh(); var vertices = new Vector3[heightmap.width * heightmap.height]; var index = 0; for (var y = 0; y < heightmap.height; y++) { for (var x = 0; x < heightmap.width; x++) { var height = heightmap[x, y]; // <- Je nach dem, wie deine Heightmap aussieht. Wenn Textur, sowas wie GetPixel vertices[index] = new Vector3(x, height, y); index++; } } mesh.vertices = vertices; // mesh.normals und son kram... GetComponent<MeshFilter>().mesh = mesh; Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.