Moorleiche89 Geschrieben 19. November 2018 Melden Share Geschrieben 19. November 2018 Hallo, ich habe recht wenig Erfahrung mit Unity oder generell Spieleentwicklung und benötige daher ein wenig Hilfe. In meinem Projekt geht es (wie hätte es die Überschrift anders vermuten lassen) um ein Voxel-Based-Game. Nun habe ich soweit Blöcke erstellt und auch ein kleines Script für die Spielwelterstellung geschrieben. Nach der akivierung des Scriptes und der Plazierung von 8000 Blöcken geht die Performance verständlicherweise in die Knie. Die Lösung hierfür, soweit ich es von einigen anderen Voxel-Games gesehen habe, wäre, dass dur die sichtbaren Blöcke (die Oberfläche) gerendert werden. Aber wie realisiere ich das? Mein Denkvermögen brachte bisher nur 2 Möglichkeiten hervor: Der Spieler sendet einen Ray aus, der getroffene Blöcke rendert. Hat ein einem Test auch gut funktioniert, aber das Abrastern des sichtbaren Bereiches mit dem Ray überfordert mein derzeiten Fähigkeitsstand. Eine Abfrage der Blöcke selbst, ob diese im Bereich der Spielersicht sind und (wichtiger) ob diese von anderen Blöcken umgeben sind. Wenn sie Freiliegen->Rendern. Vielleicht habt ihr einen besseren Ansatz, Hilfestellungen, vllt schon einen gutkommentierten Code. Ich würde mich freuen. Mit besten Grüßen, eure Moorleiche Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mese96 Geschrieben 19. November 2018 Melden Share Geschrieben 19. November 2018 Für die Performance hilfreich ist in jedem Fall wenn du nicht viele einzelne Objekte hast, sondern diese zusammenfasst. Zusammengefasste Blöcke können sich dann in Form eines Chunks ein Mesh teilen, dieses müsstest du immer updaten, wenn sich ein Block in diesem Bereich ändert. Während du dieses Mesh baust, kannst du diesem nur die Dreiecke hinzufügen die potenziell sichtbar sind und somit benötigt werden, in der Regel ist dass die Oberfläche. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Moorleiche89 Geschrieben 19. November 2018 Autor Melden Share Geschrieben 19. November 2018 Danke für die Schnelle Antwort. Okay, das Klingt schon mal Mega, aber wie mache ich das? Und gibt es dann nicht immernoch das Problem, was davon gerendert wird und was nicht? Beste Grüße, eure Moorleiche Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 20. November 2018 Melden Share Geschrieben 20. November 2018 Gerendert wird nur das, was auch in der Camera sichtbar ist. Darüber brauchst du dir keine Sorgen machen. 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.