Clash Detection UI#

In this section, we will explore the Clash Query Management window and the Clash Detection Results window.

To initiate a clash detection, you must first create a clash detection query using the Clash Query Management window. You can define as many queries as necessary.

Note

Clash detection only works with meshes, not shapes.

Clash Query Management Window#

  • To create new clash query, click the Create New Query button. The new query will be created with a default name New Query ###.

  • Rename the query by double clicking its name as necessary.

  • To duplicate the selected clash queries, click Duplicate.

  • To delete the selected clash queries, click Delete....

  • To export selected queries to a JSON file, click Export Queries....

  • To import queries from a JSON file, click Import Queries....

  • You can also enter your own comment to further clarify its purpose by double clicking empty space in the Comment column.

  • The First Created column shows the timestamp when was the query first created. The Last Modified column shows the timestamp when was the query last modified.

Many commands can also be accessed through the context menu.

../_images/ext_physics_clashdetection-ui-query-management-0.png

Note

Press Ctrl+A to select all queries. Press the Escape key to deselect them. Press the Delete key to delete selected queries.

In the right side pane, you can see various options that help you to customize the clash detection query to your needs:

Limit the clash detection processing scope by defining search sets.

  • If both Searchset A and Searchset B are empty -> process full scene.

  • If only the Searchset A list contains items -> limit processing only to Searchset A items.

  • If Searchset A and Searchset B lists contain items -> process Searchset A against Searchset B.

Option

Description

Static Time on Timeline

Time on Timeline in seconds for executing static clash detection. The value is clamped into timeline range if necessary. Taken into account only when performing static clash detection!

Report Duplicate Meshes Only

Instructs the clash detection engine to only report meshes that completely overlap with other identical meshes. Dynamic detection is not supported, only static clashes at current time on the timeline are. This option is exclusive - no other clashes are reported when this option is enabled!

Dynamic

Tells the clash detection engine to run dynamic clash detection inspecting time sampled animations.

Start Time on Timeline

Start Time on Timeline in seconds. Works only when dynamic clash detection is enabled.
0 = timeline start time (auto-detected).

End Time on Timeline

End Time on Timeline in seconds. Works only when dynamic clash detection is enabled.
0 = timeline end time (auto-detected).

Purge Permanent Overlaps

If two objects overlap for the whole duration of the dynamic clash, such overlap is ignored. Works only when dynamic clash detection is enabled.

Tolerance

Tolerance distance for overlap queries. Use zero for hard clashes, non-zero for soft (clearance) clashes.

Option

Description

Use New Task Manager

Use new task manager implementation. It manages number of spawned tasks automatically, so ‘Number of Tasks’ setting is ignored.

Number of Tasks

Number of tasks used when running multi-threaded. Generally speaking, the more the better.

Pose Epsilon

Epsilon value used when comparing mesh poses. This is used when detecting ‘duplicate meshes’, i.e. meshes with the same vertex/triangle data in the same place.

Bounds Epsilon

Epsilon value used to enlarge mesh bounds a bit. This ensures that flat bounds or bounds that are just touching are properly processed.

Area Epsilon

Epsilon value used to cull small triangles or slivers. Triangles whose area is lower than this value are ignored. Use 0 to keep all triangles.

Coplanar

Detect collisions between coplanar triangles.

Option

Description

Log info in Console

Log info & perf results to console.

Single Threaded

Run single-threaded or multi-threaded code. Mainly for testing.

Filter Test

Experimental filtering. Ignore pairs whose meshes have a direct similar sub-component.

Any hit

Any hit or all hits.

Tight Bounds

Use tight bounds for meshes.

Quantized

Quantized or not.

Tris per leaf

Number of triangles per leaf.

Overlap Code

Use alternative triangle-triangle overlap code.

Note

Remember to click the Save Properties button to save your changes! By default, changes are automatically saved upon query selection change. This can be disabled in settings by unchecking Save Edited Query on Selection Change.

../_images/ext_physics_clashdetection-ui-query-management-1.png

Clash Detection Results Window#

This window displays results for each selected clash query.

Clash Detection Results Window

First, select a clash query you want to work with from the dropdown list Selected Clash Query. You can edit clash queries in the Clash Query Management window, described in the previous section. Click Query Management button to open the Clash Query Management window.

Review descriptions of each results list column.

Column

Description

#

Clash number.

If background color of the number turns red, it indicates, that the clash is no longer present in the stage.

Present

Indicates, if the clash is present in the stage or not. Note that we never delete even resolved clashes. If you are no longer interested in a clash, simply delete it yourself.

Type

Type of clash. A Duplicate, Hard or Soft.

Min distance

Minimal distance between clashing objects. 0=Hard clash, otherwise soft clash.

Tolerance

Tolerance which was set at the time when clash detection was run. For hard clashes, the tolerance is always zero. For soft clashes it is non-zero.

Max Overlaps

Maximum number of overlapping triangles.

Clash Start

Starting timestamp of the clash.

Clash End

Ending timestamp of the clash.

Records

Total number of clashing frames.

Object A

Name of the clashing object A.

Object B

Name of the clashing object B.

State

Management flag: Current state of the clash. (New, Approved, Resolved, Closed, Invalid).

Priority

Management flag: Priority of the clash from 0 to 5.

Person in Charge

Management flag: Name of a person this clash is assigned to.

First Detected

Shows timestamp when was the clash first detected.

Last Modified

Shows timestamp when was the clash last modified.

Comment

An optional comment for each clash.

Click Run Clash Detection to initiate the clash detection process on the currently open stage, using the parameters from the selected clash query in the Selected Clash Query dropdown list. Once clicked, the button transforms into a progress bar. If needed, you can click the progress bar or press the Escape key to cancel the process. When the process is complete, the results view will display all detected clashes.

Note

Different colors on the progress bar now represent various stages of clash detection:

  • Green indicates the conversion of curve animations to time samples.

  • Orange signifies the clash detection engine’s activity.

  • Blue denotes the result-fetching process.

To delete selected clashes, click Delete Selected.

Note

Press Ctrl+A to select all clashes. Press the Escape key to deselect the currently selected clashes and remove the clash visualization overlay from the main viewport. Press the Delete key to delete selected clashes. This functionality only works when the window is focused.

To save the results report as an HTML or JSON file, select Export. Additional options display:

  • Export only filtered items If ticked, only visible clashes will get exported. If not, all clashes that belong to the to selected clash query will get exported.

  • Export clash screenshots If ticked, clash images for each clash will get captured and saved to the target location <target-file-name>_images subfolder.

    Export button options.

Refresh button will fully refresh the clash results list, deselect all currently selected clashes, and remove clash visualization overlay from the main viewport.

You can instantly filter the resulting list by typing a string into the Search field. Filtering is case insensitive.

Note

You can encapsulate the search string with back quotes for exact whole word matches. E.g. `mesh1`.

Right-click on an item in the list to open a contextual menu. This menu provides options such as selecting clashing objects, inspecting clashing frames, copying information to the clipboard and more.

../_images/ext_physics_clashdetection-ui-results-view-3.png
  • Inspect Clashing Frames on Timeline - Displays a timeline with a slider (next to the Refresh button) to inspect the range of clashing frames. You can also double-click on a clash row to reveal the timeline. This feature is unavailable if more than one clash is selected.

    Timeline with a slider of clashing frames.
  • Create Markup - if Markup extension is active, creates a markup (annotation in 3D scene with a 2D whiteboard overlay) for all selected clashes. For more information about Markups, please refer to Markup documentation page.

  • Filter View to Only Show Object A Clashes and Filter View to Only Show Object B Clashes - Limits the results view to only show clashes of object A or B. Such filter can be removed by clearing the Search field. It is not available if more that one row is selected!

By clicking the menu icon you can:

  • Show full paths of clashing objects in the list by checking Show Full Paths of Clashing Objects.

  • Turn on debug logging and diagnostic messages by checking Enable Debug Logging.

../_images/ext_physics_clashdetection-ui-results-view-2.png

Next Steps: Clash Detection Viewport