Colliders allow blocks to have physics and the ability to connect to other blocks.
If scaling is not involved, skinpacks can accurately reflect block colliders. An example of such a skinpack can be found here.
When scaling becomes a consideration, skinpacks can no longer accurately display colliders; a mod such as Colliderscope is required. (Colliderscope is what is used to generate the images on this wiki.)
Interactions with Scaling Edit
All colliders in Besiege's blocks are primitive types - boxes, spheres, and capsules. What this means is that (in most cases) if a block is scaled, the block's colliders will not line up with the block's visuals - unlike the block's visuals (or your expectations) - the colliders cannot skew, and in the cases of the sphere and capsule colliders (on their short axes) will scale their diameter with the largest axis.
Solid colliders have physics in simulation mode (with the exception of add points), and allow selection of the block they are attached to in build mode.
Besiege does not predict high-speed collisions; if a block is moving fast enough that they are put on the other side of something in the next physics step, they will not collide.
Non-connectable solids are identical to connectable solids, except they don't allow triggers to connect.
Add Point Edit
Add points connect to triggers, and they also allow selection of their block, but do not have physics in simulation mode. They exist on blocks whose physical colliders aren't connectable, but which still allow connections (e.g. Powered Large Wheels).
Connection Triggers Edit
Triggers connect to connectable solids and add points; they are the other half of how machines hold themselves together. Triggers do not connect to other triggers, and solids do not connect to other solids.
(For this section, 'block' refers to the collection of colliders attached to a block which triggers can connect to.)
If a trigger can only connect to one block (e.g. primary and secondary triggers) they will prioritise connections to the right (in the X+ direction); if there are two candidate blocks with the same horizontal position, the trigger will connect to the first block placed.
Blocks will ignore collision with blocks that are directly connected to them. This allows for blocks to be embedded in other blocks, and joints to move freely through anything they're connected to.
If a block can connect to another block, it has a primary trigger (with the exception of the Starting Block and the Explosive Rocket).
A primary trigger connects to one other block overlapping it on simulation start.
Almost all mechanical and locomotive blocks (except the Hinge) will prevent connections from any blocks whose primary trigger overlaps theirs.
The secondary trigger exists on only a few blocks, and only on blocks with a primary trigger.
It is functionally identical to the primary trigger, with two differences:
- It is almost always significantly stronger than the block's primary trigger (making it advantageous to use when possible).
- It only connects if there are no primary triggers overlapping it (including the block's own primary trigger).
The brace's second endpoint is unique, as it connects to multiple blocks intersecting it. This can be used for reinforcement of structures with a minimum of blocks - however, when the brace is scaled this can make their use close to moving parts problematic.
Additionally, if the trigger is not connected to anything when simulation starts, there is a small window (approximately 1 second) where it will connect to the first block it overlaps.
Other Triggers Edit
These triggers have miscellaneous effects which aren't related to block connections.
In build mode, occluders extend the block's selection area like solids (and sometimes prevent placement of blocks colliding with them). In simulation mode, they do not affect physics and can be ignored.
Environment triggers have effects tied to player actions in simulation. For example, the Grabber environment trigger allows it to grab/ungrab things, and anything in a Vacuum's environment trigger will be sucked in (with varying levels of force).