Skip to main content

CMP

Overview

Compound comprised for multiple parts. Ships with destructible parts, stations with docking ports having moving doors and so forth.

Compound model embeds one or more .3db inside while using shared resources (meshes, materials, etc) between parts.

Cmpnd entry contains Root part and other parts starting with Part_ prefix. Hierarchial relation between parts is defined in constraints Cons entry.

Constraints

  • Parent and child part names in constraints are always 64 bytes regardless of actual string length, string is trimmed at NUL character.

Fix (fixed)

NameTypeDescription
parentchar[64]Parent name.
childchar[64]Child name.
translationfloat[3]Translation vector.
rotationfloat[9]3x3 rotation matrix.
  • Inanimate but can be made destructible via [CollisionGroup] section in archetype.

Rev (revolute)

NameTypeDescription
parentchar[64]Parent name.
childchar[64]Child name.
translationfloat[3]Translation vector.
offsetfloat[3]Offset vector.
rotationfloat[9]3x3 rotation matrix.
axisfloat[3]Direction axis vector.
minfloatMin angle.
maxfloatMax angle.
  • Animated by keyframe with single float value.

Pris (prismatic)

NameTypeDescription
parentchar[64]Parent name.
childchar[64]Child name.
translationfloat[3]Translation vector.
offsetfloat[3]Offset vector. Unused.
rotationfloat[9]3x3 rotation matrix.
axisfloat[3]Direction axis vector.
minfloatMin length.
maxfloatMax length.
  • Animated by keyframe with single float value.

Cyl (cylindric)

NameTypeDescription
parentchar[64]Parent name.
childchar[64]Child name.
translationfloat[3]Translation vector.
offsetfloat[3]Offset vector.
rotationfloat[9]3x3 rotation matrix.
axisfloat[3]Direction axis.
rotateMinfloat
rotateMaxfloat
slideMinfloat
slideMaxfloat
  • ❗ Exists but appears to be unused. Attempting to animate cylindrical joint crashes the game.

Sphere (spherical)

Ball joint and unlike revolute constraint its rotation isn't axis fixed.

NameTypeDescription
parentchar[64]Parent name.
childchar[64]Child name.
translationfloat[3]Translation vector.
rotationfloat[9]3x3 rotation matrix.
pitchMinfloat
pitchMaxfloat
yawMinfloat
yawMaxfloat
rollMinfloat
rollMaxfloat
  • Animated by keyframe with quaternion value.

Loose

Permits free motion (translation and rotation).

NameTypeDescription
parentchar[64]Parent name.
childchar[64]Child name.
translationfloat[3]Translation vector.
rotationfloat[9]3x3 rotation matrix.
  • Animated by keyframe with vector and quaternion values.