Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

21.12.2011, 00:46

Kleine Frage zu großen Spielen

Hey,

ich habe mal eine kleine Frage zu größeren Spielen. Und zwar, wenn ich eine sehr große Landschaft habe, dann hätte ich ja das Problem, dass ich alle NPC's, Animationen usw berechnen müsste. Dies ist wohl kaum möglich, da es viel zu viele Berechnungen wären. Also müsste mann ja schauen, welche Objekte in Sichtweite sind. Jetzt frage ich mich aber, ist dies nicht auch viel zu viel Aufwand? Also werden bei neuern Spielen wirklich alle Positionen von jedem Objekt überprüft um dann sagen zu können "Objekt X,Y und Z werden berechnet und gerendert die restlichen 10000 Objekte sind zu weit weg".

Oder wird dies irgendwie anders gemacht? Und wenn ja, wie wird das gemacht?
Danke für eure Antworten.


MFG Noxum
Why so serious ?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

21.12.2011, 01:34

Man bedient sich entsprechender Datenstrukturen, um möglichst schnell entscheiden zu können welche Objekte potentiell sichtbar sind und dann nurmehr diese genauer zu untersuchen.
Oft genügt es z.B. schon, die Objekte in ein einfaches regelmäßiges Gitter (Grid) einzusortieren. Dann braucht man nurmehr alle Objekte in den Gitterzellen die grad sichtbar sind durchzugehen.
Ein paar Stichworte: Spatial Datastructure, Quadtree, Octree, BSP, kd-Tree, Bounding Volume Hierarchy

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (21.12.2011, 01:41)


3

21.12.2011, 01:57

Okey viellen Dank für deine Antwort, werde mal nach den Wörtern googeln.



MFG Noxum
Why so serious ?

Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

4

21.12.2011, 08:47

bedingt hat damit auch zu tun:
die Source Engine (von anderen weiß ich nicht, ob diese so vorgehen) ermittelt aus den Leveln bestimmte Bereiche ("Leaf" genannt, beispielsweise die Räume, die man modelliert hat)
es wird bereits beim kompilieren einer Karte geprüft, von wo aus welche Abschnitte sichtbar sind und anhand dessen auch nur die entsprechenden Räume beim Rendern verwendet
siehe dazu auch den Artikel in der Valve Developer Community zu Visleaf oder dessen deutsche Übersetzung
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Werbeanzeige