Collisions

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

  • As a player vehicle you interact with the outside world, e.g. in the form of collisions. In this entry the methods of collisions are explained, which are possible with OMSI.

    The following collision methods can be used in .bus, .cfg (model files), .ovh and .sco files. The following collisions are discussed in this paper:

    • No collision (nocollision)
    • Boundingbox ([boundingbox])
    • Mesh-Collision ([collision_mesh])
    • Fixed ([fixed])
    • Surface collision ([surface])

    1. No collision

    The player car does not interact with the object at all, you simply drive through the object. This is useful for very small objects (e.g. rubbish) or decals (objects placed on surfaces whose only goal is an additional texture, e.g. zebra crossing).


    Code
    [nocollision]

    2. Boundingbox

    A bounding box describes a cuboid or cube that acts as a collision to a visible mesh. If a player vehicle hits an edge of the box, it collides with the object. The Boundingbox is invisible and is only defined by code. It is used to improve performance for objects with many polygons (e.g. houses with modelling). To easily construct a bounding box, it is useful to build a box around the object in your 3D modelling software (e.g. Blender). You can then read the values from this object.

    Code
    [boundingbox]
    <Width (x)>
    <Length (y)>
    <Height(z)>
    <Distance on the width axis to the zero point (x)>
    <Distance on the longitudinal axis to the zero point (y)>
    <Distance on the height axis to the zero point (z)>


    All figures must be given in metres with a dot as separator.
    The distance specifications are not the object origin (Origo / Origin / Pivot Point), but the zero point of the environment, i.e. the zero point of the coordinate system.

    2.1. Use on vehicles

    Ideally, this method is used for vehicles (e.g. buses), but the following should be noted:

    • The width of the vehicle should be specified without exterior mirrors
    • Many maps have "invisible walls" at object transitions, on which mainly low-lying vehicles get stuck. To avoid this, the height of affected vehicles can be reduced by one metre and the distance of the box to the zero point can be increased by one metre on the z-axis.

    3. Mesh collision

    In a mesh collision, a separate mesh is used as the collision. Most of the time it is the same as the textured mesh, but this is not a requirement. Also collision meshes are kept invisible by OMSI. For example, another simplified mesh ("low-poly") can be used if a bounding box is not sufficient, this is especially the case with round or shapeless objects.


    Code
    [collision_mesh]
    <Name of the mesh with file extension>

    The mesh files can be .o3d and .x files.

    4. Fixed

    This method is only possible for scenery objects (.sco).


    Objects marked with this keyword will remain at the position originally defined in the editor even after the collision with the player vehicle (without this option, road signs, for example, could fall over). It is used for houses, tree borders or fixed road objects. However, the damage to the user vehicle can be more severe.


    Code
    [fixed]

    5. Surface collision

    This method is only possible for scenery objects (.sco).


    An object, which implements a surface collision, collides with the user vehicle as a "floor". In concrete terms, this means that the user vehicle can drive on it. The keyword is used as an object at intersections and streets.


    This type of collision is also active if collisions are deactivated in the settings!


    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.