Skip to content

Configuring a part for FreeIva

JonnyOThan edited this page Jul 4, 2023 · 7 revisions

Authoring a part from scratch

  • Cut out holes in the internal mesh where hatches will go.

Adding support for an existing part

  • Figure out how to remove any geometry covering where hatches will go:
    • If the geometry is a separate gameobject, use DeleteInternalObject
    • If the geometry is part of the IVA shell, you need to use a cutout. You can create a custom set of meshes for this shell to cut out its geometry, or use hatches that have cutout meshes already configured (along with cutoutTargetTransformName in the PROP placements or autoCutoutTargetName).

All parts

  • Create a low-res shell of the internal mesh and give it a MeshCollider. The normals should be facing inwards. Make sure to leave holes for hatches. This shell (and any other colliders that should block kerbals) should be on layer 16.
  • Place hatch props as usual.
  • Add a ModuleFreeIva to the PART and InternalModuleFreeIva to the INTERNAL
  • Set the shellColliderName in the InternalModuleFreeIva to the name of your MeshCollider shell.
  • Add HatchConfig modules to each hatch PROP in the INTERNAL and configure the airlock name and attach node name (skip this step to use auto-configuration which will try to match hatches with nearby airlocks and attachnodes)
  • Learn about Depth Masks

Clone this wiki locally