Benutzer-Werkzeuge

Webseiten-Werkzeuge


Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
zengin:portale [2015/08/19 22:15]
93.192.230.143
zengin:portale [2016/02/06 05:39]
milky-way
Zeile 1: Zeile 1:
- ​Inhalt:​+====== Portale ======
  
-    1. Einleitung +===== Einleitung ​=====
-    2. Outdoor-Level +
-        2.1 Portal Benennungen +
-        2.2 Ghostoccluder  +
-    3. Indoor-Level +
-        3.1 Hinweise für das Modeling +
-        3.2 Portale in Indoor-Leveln ​+
  
-====== 1. Einleitung ====== +Statische Level-Meshes werden in i.d.R. in professionellen Modeling-Programmen erstellt (z.B. Lightwave oder 3DS-Studio MAX) und dann als Dateien im .3DS Format innerhalb des Editors __Spacer__ importiert. Zur Steigerung der Render-Performance werden bereits beim Modeling der Level-Meshes bestimmte zusammenhängende Bereiche des Levels als Sektoren kenntlich gemacht und durch Portale voneinander getrennt. Zur Laufzeit ist es der Engine dann möglich, diejenigen Sektoren zu ermitteln und vom Render-Prozess ​auszuschließen,​ die von der aktuellen Kameraposition aufgrund von Verdeckung nicht sichtbar oder weit entfernt sind.
- +
-Statische Level-Meshes werden in i.d.R. in professionellen Modeling-Programmen erstellt (z.B. Lightwave oder 3DS-Studio MAX) und dann als Dateien im .3DS Format innerhalb des Editors __Spacer__ importiert. Zur Steigerung der Render-Performance werden bereits beim Modeling der Level-Meshes bestimmte zusammenhängende Bereiche des Levels als Sektoren kenntlich gemacht und durch Portale voneinander getrennt. Zur Laufzeit ist es der Engine dann möglich, diejenigen Sektoren zu ermitteln und vom Render-Prozeß ​auszuschließen,​ die von der aktuellen Kameraposition aufgrund von Verdeckung nicht sichtbar oder weit entfernt sind.+
  
 In Outdoor-Leveln werden lediglich die Innenräume von Gebäuden, Höhlen etc. als Sektoren gekennzeichnet,​ wohingegen das gesamte Areal unter freiem Himmel selbst als ein großer Sektor "​Außenwelt"​ behandelt wird. In Indoor-Leveln sollte der gesamte Level in eine Menge von Sektoren partitioniert wird. Die Unterscheidung Outdoor-/​Indoor-Level ist bei der Kompilierung eines Levels innerhalb des Editors Spacer explizit zu wählen. Derzeit unterscheiden sich noch die Konventionen zur Ausstattung von Leveln mit Sektoren/​Portalen für Outdoor- und Indoor -Level, wobei im folgenden das Grundsätzliche zusammengefasst ist. Eine einheitliche Konvention ist geplant, die sowohl bei Outdoor- als auch Indoor-Leveln anwendbar ist. In Outdoor-Leveln werden lediglich die Innenräume von Gebäuden, Höhlen etc. als Sektoren gekennzeichnet,​ wohingegen das gesamte Areal unter freiem Himmel selbst als ein großer Sektor "​Außenwelt"​ behandelt wird. In Indoor-Leveln sollte der gesamte Level in eine Menge von Sektoren partitioniert wird. Die Unterscheidung Outdoor-/​Indoor-Level ist bei der Kompilierung eines Levels innerhalb des Editors Spacer explizit zu wählen. Derzeit unterscheiden sich noch die Konventionen zur Ausstattung von Leveln mit Sektoren/​Portalen für Outdoor- und Indoor -Level, wobei im folgenden das Grundsätzliche zusammengefasst ist. Eine einheitliche Konvention ist geplant, die sowohl bei Outdoor- als auch Indoor-Leveln anwendbar ist.
- ​====== 2. Outdoor-Level ====== ​ 
- ===== 2.1 Portal Benennungen =====  
  
-Die Materialnamen von Portal-Polys entsprechen folgender Benennung: "//​P[N]:​Front_Back//"​ ist das Schema (Case-unsensitiv,​ N ist otional, siehe unten). "​Front"​ ist der Name des Raumes, in das die Portal-Poly Normale hineinzeigt. "​Back"​ ist der Name des Raumes hinter dem Portal. Der Name des "​Außenwelt-Raumes"​ ist ""​ (Ein Leerstring, siehe Beispiel).+ 
 + ===== Outdoor-Level =====  
 + ==== Portal Benennungen ====  
 + 
 +Die Materialnamen von Portal-Polys entsprechen folgender Benennung: "//​P[N]:​Front_Back//"​ ist das Schema (Case-unsensitiv,​ N ist optional, siehe unten). "​Front"​ ist der Name des Raumes, in das die Portal-Poly Normale hineinzeigt. "​Back"​ ist der Name des Raumes hinter dem Portal. Der Name des "​Außenwelt-Raumes"​ ist ""​ (Ein Leerstring, siehe Beispiel).
  
 Materialnamen mit dem Präfix "​PN:"​ ("​N"​ für NoFade"​) "​öffnen"​ sich zwar visuell beim Nähern der Kamera, faden allerdings nicht wie die übrigen "​P:"​-Portale aus. Das ist z.B. sinnvoll, wenn auf einem solchen Portal eine Textur mit Alphakanal liegt. Materialnamen mit dem Präfix "​PN:"​ ("​N"​ für NoFade"​) "​öffnen"​ sich zwar visuell beim Nähern der Kamera, faden allerdings nicht wie die übrigen "​P:"​-Portale aus. Das ist z.B. sinnvoll, wenn auf einem solchen Portal eine Textur mit Alphakanal liegt.
Zeile 38: Zeile 32:
   Material D: "​P:​_Raum2" ​      von Außenwelt nach Raum2   Material D: "​P:​_Raum2" ​      von Außenwelt nach Raum2
 </​code>​ </​code>​
-===== 2.2 Ghostoccluder ​===== + 
 +==== Ghostoccluder ==== 
  
 Ghostoccluder sind in Outdoor Leveln Polys, die ein Material mit dem Namen "​GHOSTOCCLUDER"​ besitzen. Diese Polys werden niemals gerendert, sondern dienen nur der Verstärkung der bereits automatisch stattfinden Eliminierung von nicht zu rendernden Level-Bereichen durch Verdeckung bzw. "​Occlusion"​. Ghostoccluder Polys unterliegen im Gegensatz zu "​normalen"​ Polys im Outdoor keiner Größenbeschränkung,​ müssen also nicht wie Wasser segmentiert werden. Ghostoccluder sind in Outdoor Leveln Polys, die ein Material mit dem Namen "​GHOSTOCCLUDER"​ besitzen. Diese Polys werden niemals gerendert, sondern dienen nur der Verstärkung der bereits automatisch stattfinden Eliminierung von nicht zu rendernden Level-Bereichen durch Verdeckung bzw. "​Occlusion"​. Ghostoccluder Polys unterliegen im Gegensatz zu "​normalen"​ Polys im Outdoor keiner Größenbeschränkung,​ müssen also nicht wie Wasser segmentiert werden.
- ====== 3. Indoor-Level ​======  + 
- ===== 3.1 Hinweise für das Modeling ​===== + 
 + ===== Indoor-Level =====  
 + ==== Hinweise für das Modeling ==== 
  
     *Polys dürfen sich nicht durchdringen     *Polys dürfen sich nicht durchdringen
     *Es müssen alle Polys eliminiert werden, die vom Spieler aus keiner erlaubten, legalen Position / Blickwinkel gesehen werden können.     *Es müssen alle Polys eliminiert werden, die vom Spieler aus keiner erlaubten, legalen Position / Blickwinkel gesehen werden können.
-    *Es ist darauf zu achten, dass zwischen Polygonen, die eine lückenlose Oberfläche bilden sollen auch wirklich kein Zwischenraum vorhanden ist. Beispielsweise sollte die untere Kante einer Wand mit einer Kante des Bodens identisch sein und damit direkt auf den Boden aufliegen. Im Grunde ist mit dieser Forderung eine genaue Vertex-Plazierung ​gemeint ist. Diese könnte z.B. mit einem feinem Raster bei der Vertex-Plazierung ​erreicht werden.+    *Es ist darauf zu achten, dass zwischen Polygonen, die eine lückenlose Oberfläche bilden sollen auch wirklich kein Zwischenraum vorhanden ist. Beispielsweise sollte die untere Kante einer Wand mit einer Kante des Bodens identisch sein und damit direkt auf den Boden aufliegen. Im Grunde ist mit dieser Forderung eine genaue Vertex-Platzierung ​gemeint ist. Diese könnte z.B. mit einem feinem Raster bei der Vertex-Platzierung ​erreicht werden.
     *Indoor Level (im Gegensatz zu Outdoor Level) sollten so modelliert werden, dass sie komplett geschlossen sind. D.h. wenn man (rein theoretisch) einen Level mit Wasser füllen würde, dann würde das Mesh des Levels keine Lücken und kein '​Leck'​ haben, aus dem Wasser entweichen könnte. Dieser Punkt ist sehr wichtig! Es sollte sehr sorgfältig darauf geachtet werden, dass keine Lücken zwischen den Polys entstehen. '​wasserdicht'​ bzw. '​leckfrei'​ kann so definiert werden:     *Indoor Level (im Gegensatz zu Outdoor Level) sollten so modelliert werden, dass sie komplett geschlossen sind. D.h. wenn man (rein theoretisch) einen Level mit Wasser füllen würde, dann würde das Mesh des Levels keine Lücken und kein '​Leck'​ haben, aus dem Wasser entweichen könnte. Dieser Punkt ist sehr wichtig! Es sollte sehr sorgfältig darauf geachtet werden, dass keine Lücken zwischen den Polys entstehen. '​wasserdicht'​ bzw. '​leckfrei'​ kann so definiert werden:
         *Mann kann keine Sichtlinie zwischen einem Punkt innerhalb des Levels und einem Punkt außerhalb des Levels aufstellen.         *Mann kann keine Sichtlinie zwischen einem Punkt innerhalb des Levels und einem Punkt außerhalb des Levels aufstellen.
Zeile 53: Zeile 50:
     *Im Allgemeinen sollten sogenannte '​T-Junctions'​ durch Einfügen von kolinearen Vertices in Polygonen vermieden werden. ​     *Im Allgemeinen sollten sogenannte '​T-Junctions'​ durch Einfügen von kolinearen Vertices in Polygonen vermieden werden. ​
  
- ===== 3.2 Portale in Indoor-Leveln ​===== + ==== Portale in Indoor-Leveln ====
  
     *Portale trennen zusammenhängende Bereiche, die Sektoren, voneinander ab.     *Portale trennen zusammenhängende Bereiche, die Sektoren, voneinander ab.
zengin/portale.txt · Zuletzt geändert: 2016/02/06 05:39 von milky-way