Physics Collisions and instant3Dhub

To enable interactive user experiences, the instant3Dhub Unreal Plugin integrates with Unreal’s Physics system by generating complex collisions for its geometry with configurable collision presets.

Collision presets need to be created when using the instant3Dhub Unreal Plugin for the first time. A message shows up in the Load Errors Message Log with a Create Preset Quick-Action that adds the collision preset to your project’s DefaultEngine.ini file.

Message Log informing about Missing Collision Profile with Quick Action to Add Collision Profile entry to DefaultEngine.ini

The Message Log can be accessed via Main Menu > Window > Message Log if it was closed accidentally.

Once created, Collision Presets can be maintained like other Engine collision profiles in the Project Settings: Project Settings > Engine > Collision > Preset.

There are two Collision Presets: instant3DhubGeometry (see UInstant3DHubSettings::GeometryCollisionProfileName), instant3DhubDrawing (see UInstant3DHubSettings::DrawingCollisionProfileName):

instant3DhubGeometry

instant3DhubDrawing

alt text

alt text

instant3Dhub Geometry Collisions

Visible instant3Dhub Geometry has “Complex Collisions” which uses the geometry’s triangle mesh for collisions. “Simple Collision” shapes are not created for instant3Dhub Geometry. Please note that invisible or hidden instant3Dhub Geometry cannot collide. This includes geometry that is off-screen (frustum culled) or hidden behind other geometry (occlusion culled).

“Collision Complexity” is set to Use Complex Collision As Simple allowing the geometry to be used for static physics collisions and for spatial queries. However, instant3Dhub Geometry cannot be used in dynamic physics simulation (e.g. applying forces or velocity). See Unreal Documentation: Simple versus Complex Collision for a more detailed discussion of the topic.

instant3Dhub Drawing Collisions

Drawing Collisions are always “Complex Collisions” with “Collision Complexity” set to Use Complex Collision As Simple. In contrast to Geometry, collisions are disabled by default for drawings. Collisions are only created for instances of Drawing Classes with AI3DHDrawing::bCreateDrawingCollisions set to true.

Editable Drawings created with the Drawing Editor are an example for a drawing class with collision enabled to allow interacting with it.

Collisions and Clip Planes

Clip Planes only apply to the visual representation of instant3Dhub Geometry and Drawings. Parts of geometry that are clipped by Clip Planes are still present in the collision representation and will react accordingly even though they are invisible.

For Line Traces this issue can be solved by modifying the ray used for the Line Trace itself. Please refer to the guide on Line Trace for more info.