Risen Collision Mesh (._xcom)

In Risen dienen die normalen ._xmsh-Dateien lediglich der visuellen Darstellung von Levelmeshes, haben aber keinerlei Einfluss auf die Physik. Stattdessen wird für Kollisionsabfragen eine gröbere Version der Levelmeshes verwendet, die in ._xcom-Dateien gespeichert wird. Dort werden außerdem die Physik-Materialien festgelegt, die unter anderem dafür sorgen, dass das korrekte Schritt-Geräusch ertönt, wenn sich eine Spielfigur über das Mesh bewegt.

Beim Erstellen eigener Kollisionsmeshes ist es also wichtig darauf zu achten, wie die Materialien heißen, die man den einzelnen Polygonen zuweist. Folgende Physik-Materialien stehen in Risen zur Verfügung: none, wood, metal, water, stone, earth, ice, leather, clay, glass, flesh, snow, debris, foliage, magic, grass, springanddamper1, springanddamper2, springanddamper3, damage, sand, movement, axe
Darüber hinaus kann man dem Materialnamen noch eines oder mehrere der Suffixe "_i", "_c" und "_r" anhängen. Das erste steht für
IgnoredByTraceRay, das zweite für DisableCollision und das dritte für DisableResponse. In der Regel wird aber keines davon benötigt.

Für den Fall, dass ein Kollisionsmesh konvex ist, kann die Engine weitere Optimierungen vornehmen. Solche Dateien tragen in Risen ein "_CV" im Namen. Das ist aber lediglich eine Konvention. Die eigentliche Information, dass es sich um ein konvexes Mesh handelt, ist in der Datei selbst gespeichert. Da Rimy3D nicht effizient feststellen kann, ob ein Mesh konvex ist oder nicht, wird diese Entscheidung dem Benutzer in den Exportoptionen überlassen. Ein Mesh ist genau dann konvex, wenn alle Verbindungslinien zwischen zwei beliebigen Vertices vollständig im Innern des Meshes liegen. Im Zweifel sollte man sich für "nicht konvex" entscheiden.