Kollisionen

Bald ist es soweit: Unsere nächste Leitstellenfahrt findet statt. Weitere Informationen findet ihr hier.

  • Als Spielerfahrzeug interagiert man mit der Außenwelt, z.B. in Form von Kollisionen. In diesem Eintrag werden die Methoden der Kollisionen erläutert, die mit OMSI möglich sind.

    Die folgenden Kollisionsmethoden können in .bus-, .cfg- (model-Dateien), .ovh- sowie in .sco-Dateien verwendet werden. Mit einem Klick auf die Methode wird man direkt zur Definition und Syntax weitergeleitet.

    1. Keine Kollision

    Das Spielerfahrzeug interagiert mit dem Objekt gar nicht, man fährt z.B. einfach durch das Objekt "hindurch". Dies ist sinnvoll für besonders kleine Objekte (z.B. Abfall) oder Decals (auf Flächen gelegte Objekte, deren einziges Ziel eine zusätzliche Textur ist, z.B. Zebrastreifen).

    Code
    [nocollision]

    2. Boundingbox

    Eine Boundingbox beschreibt einen Quader oder Würfel, der als Kollision zu einem sichtbaren Mesh wirkt. Falls ein Spielerfahrzeug an eine Kante der Box stößt, kollidiert es mit dem Objekt. Die Boundingbox ist unsichtbar und wird nur über Code definiert. Sie dient zur Performanceverbesserung bei Objekten mit vielen Polygonen (z.B. Häusern mit Ausmodellierungen). Um eine Boundingbox einfach zu konstruieren, ist es sinnvoll, sich in seiner 3D-Modellierungssoftware (z.B. Blender) eine Box um das Objekt zu bauen. Von diesem Objekt kann man anschließend die Werte ablesen.

    Code
    [boundingbox]
    <Breite (x)>
    <Länge (y)>
    <Höhe (z)>
    <Abstand auf der Breitenachse zum Nullpunkt (x)>
    <Abstand auf der Längsachse zum Nullpunkt (y)>
    <Abstand auf der Höhenachse zum Nullpunkt (z)>

    Alle Angaben müssen in Metern mit Punkt als Trennzeichen angegeben werden.
    Bei den Abstandsangaben handelt es sich nicht um den Objektursprung (Origo / Origin / Pivot Point), sondern um den Nullpunkt der Umgebung, also dem Nullpunkt des Koordinatensystems.

    2.1. Verwendung bei Fahrzeugen

    Idealerweise wird diese Methode bei Fahrzeugen (z.B. Bussen) angewendet, hierbei gilt es Folgendes zu beachten:

    • Die Breite des Fahrzeuges sollte ohne Außenspiegel angegeben werden
    • Viele Karten weisen an Objektübergängen "unsichtbare Wände" auf, an denen vorwiegend tief liegende Fahrzeuge hängen bleiben. Um dies zu vermeiden, kann die Höhe von betroffenen Fahrzeugen um einen Meter reduziert und der Abstand der Box zum Nullpunkt um einen Meter auf der z-Achse erhöht werden.

    3. Mesh-Kollision

    Bei einer Mesh-Kollision wird ein separates Mesh als Kollision verwendet. Meistens ist es das selbe wie das texturierte Mesh, das ist aber keine Voraussetzung. Auch Kollisionsmeshs werden von OMSI unsichtbar gehalten. Es kann z.B. ein anderes vereinfachtes Mesh ("Low-Poly") verwendet werden, sofern eine Boundingbox nicht ausreicht, dies ist vor allem bei runden oder unförmigen Objekten der Fall.

    Code
    [collision_mesh]
    <Name des Meshs mit Dateiendung>

    Bei den Mesh-Dateien kann es sich um .o3d- und um .x-Dateien handeln.

    4. Fixiert

    Diese Methode ist nur bei Szenerieobjekten (.sco) möglich.

    Objekte, die mit diesem Schlüsselwort gekennzeichnet sind, bleiben auch nach der Kollision mit dem Spielerfahrzeug an der im Editor ursprünglich festgelegten Position (ohne diese Option könnten z.B. Straßenschilder umfallen). Es findet bei Häusern, Baumeinfassungen oder festen Straßenobjekten Anwendung. Durchaus können am Userfahrzeug aber stärkere Schäden entstehen.

    Code
    [fixed]

    5. Oberflächenkollision

    Diese Methode ist nur bei Szenerieobjekten (.sco) möglich.

    Ein Objekt, was eine Oberflächenkollision umsetzt, kollidiert als "Boden" mit dem Userfahrzeug. Konkret heißt das: Das Spielerfahrzeug kann darauf fahren. Angewendet wird das Schlüsselwort bei Kreuzungen und Straßenzügen als Objekt.

    Diese Art der Kollision ist auch dann aktiv, wenn Kollisionen in den Einstellungen deaktiviert sind!

    Code
    [surface]

Teilen

CC BY-SA 4.0

Sämtliche Inhalte unseres OMSI-Wiki sind unter Creative Commons Namensnennung & Weitergabe unter gleichen Bedingungen (CC BY-SA 4.0) lizensiert.