Physics Engine & Collision Detection
A physics engine is the core system that simulates motion and collisions. It uses collision detection to find where objects touch and then applies rules to decide how they react.
Physics Engine
A physics engine is software that simulates real‑world behavior like movement, gravity, and collisions.
It takes object shapes, masses, and forces as input and computes new positions and velocities over time.
Used in games, VR, robotics, CAD tools, and training simulators to make interactions feel believable.
Core SystemCollision Detection
Collision detection finds out when and where objects overlap or touch in space.
It usually runs in two stages: a fast broad‑phase to find possible pairs and a precise narrow‑phase to test them.
Used everywhere objects must not pass through each other, like characters hitting walls or parts fitting together.
Broad & Narrow PhaseBroad‑Phase Detection
Broad‑phase quickly filters many objects down to a small set of potential colliding pairs.
It often uses simple bounding boxes or grids to avoid checking every object against every other object.
Used in large scenes to keep physics fast even when hundreds or thousands of objects exist.
PerformanceNarrow‑Phase Detection
Narrow‑phase performs detailed checks on pairs flagged by the broad‑phase.
It uses the actual collider shapes to compute contact points, normals, and penetration depth.
Used when accuracy matters, such as precise contact between mechanical parts or character feet on stairs.
AccuracyContinuous Collision Detection (CCD)
CCD prevents fast‑moving objects from tunneling through thin geometry between frames.
Instead of checking only at discrete positions, it considers the motion path during the time step.
Used for bullets, fast tools, or quickly moving parts that must never pass through walls or other objects.
Fast MotionActor Types (How Objects Behave)
Different actor types tell the physics engine whether an object should move freely, stay fixed, or be driven by user input or animation.
Static Actor
A static actor represents an immovable object with effectively infinite mass.
It does not move under forces or collisions but other objects can collide with it.
Used for floors, walls, fixed machinery, and any environment geometry that never moves.
ImmovableDynamic Actor
A dynamic actor is fully simulated and responds to forces, gravity, and collisions.
It has mass, inertia, and velocities that the engine updates every simulation step.
Used for boxes, tools, debris, vehicles, and any object that should move naturally.
Fully SimulatedKinematic Actor
A kinematic actor is moved by user code or animation, not by forces or gravity.
It can push dynamic objects but is not pushed back by collisions.
Used for VR hands, animated doors, conveyor belts, and guided assembly parts.
User‑DrivenCollider Types (How Shapes Are Represented)
Colliders are simplified shapes used for collision detection. They approximate visible geometry to balance accuracy and performance.
Convex Hull
A convex hull wraps a shape in the smallest convex volume that contains it.
It ignores holes and caves but is fast and stable for simulation.
Used for many game objects and tools where perfect concavity is not required.
Convex ApproximationConvex Decomposition
Convex decomposition splits a complex concave object into multiple convex parts.
This preserves holes and cavities while still using convex shapes internally.
Used for mechanical parts, complex props, and objects that must fit together accurately.
Concave via PartsTriangle Mesh
A triangle mesh collider uses the actual surface triangles of the model.
It can represent fully concave shapes but is usually limited to static actors.
Used for detailed environments, terrain, and fixed structures where accuracy matters.
Static ConcaveSDF (Signed Distance Field)
An SDF stores the distance to the nearest surface in a 3D grid of voxels.
It can represent complex concave shapes without explicit triangle tests.
Used for advanced collision, soft bodies, and GPU‑accelerated physics and rendering.
Voxel DistanceSphere
A sphere collider is defined by a center and radius.
It is extremely fast to test and behaves the same from all directions.
Used for balls, simple characters, and rough approximations of round objects.
Simple ShapeBox
A box collider is a rectangular volume aligned to its local axes.
It is cheap to compute and works well for many man‑made objects.
Used for crates, buildings, furniture, and quick approximations of complex meshes.
RectangularCapsule
A capsule is a cylinder with rounded ends, defined by a radius and height.
It slides smoothly over edges and small obstacles.
Used for character bodies, limbs, tools, and handles in many games and VR apps.
Character ShapePlane
A plane collider represents an infinite flat surface.
It has no thickness but is perfect for simple ground or boundaries.
Used for floors, water surfaces, and invisible limits in simulations.
Infinite SurfaceCollider Settings (How Contacts Are Formed)
These settings fine‑tune how close objects get before colliding, how detailed colliders are, and how much simplification is applied.
Contact Offset
Contact offset defines how far from the surface collisions start being detected.
A small buffer helps avoid objects visually intersecting before the engine reacts.
Used to make collisions feel responsive and to prevent fast objects from clipping slightly.
Early ContactRest Offset
Rest offset is the distance at which objects are considered resting on each other.
It controls how close surfaces get when they settle after a collision.
Used to avoid jitter and to decide whether objects appear to touch or slightly hover.
Rest DistanceMerge Geometries
Merge geometries combines multiple meshes into a single collider shape.
This reduces the number of colliders and speeds up simulation at the cost of detail.
Used when many small parts can be treated as one solid object.
Combine ShapesEnable Mesh Reduction
Mesh reduction simplifies a collider mesh by removing less important triangles.
It keeps the overall shape while lowering computational cost.
Used for large or detailed models where full resolution is unnecessary for collisions.
Simplify MeshReduction Ratio
Reduction ratio controls how many triangles are kept during mesh reduction.
Lower ratios mean more aggressive simplification and fewer triangles.
Used to balance performance and accuracy depending on how precise collisions must be.
Triangle CountReduction Tolerance
Reduction tolerance sets how far the reduced mesh may deviate from the original.
Smaller tolerances keep the shape closer to the source geometry.
Used when you need simplification but still require good shape fidelity.
Shape ErrorMinimum Triangles
Minimum triangles defines the lowest triangle count allowed after reduction.
It prevents the collider from becoming too simple to be useful.
Used to guarantee a baseline level of detail for important objects.
Detail FloorRigid Body Properties (How Surfaces Feel)
These properties describe how objects resist motion, slide against each other, and bounce after impacts.
Static Friction
Static friction resists the start of sliding between two surfaces at rest.
Higher values make objects feel sticky and harder to push initially.
Used for objects that should stay put until a clear force is applied, like crates on a rough floor.
Start of MotionDynamic Friction
Dynamic friction resists motion while surfaces are already sliding.
Higher values slow down sliding and make movement feel heavier.
Used to control how smoothly objects slide, such as parts fitting into guides or rails.
SlidingRestitution
Restitution controls how bouncy a collision is between two objects.
Low values absorb energy, while high values cause noticeable bouncing.
Used for everything from soft landings to lively balls and arcade‑style physics.
BouncinessMass
Mass describes how heavy an object is in the simulation.
Heavier objects accelerate less under the same force.
Used to make vehicles, tools, and characters feel appropriately weighty.
WeightInertia & Center of Mass
Inertia defines how hard it is to rotate an object around its axes.
The center of mass is the point where mass is balanced.
Used to control how objects spin, tip over, and react to off‑center impacts.
RotationLinear & Angular Velocity
Linear velocity is how fast an object moves through space.
Angular velocity is how fast it rotates around its axes.
Used by the engine to update positions and orientations each simulation step.
MotionScene Settings & Interaction
Scene‑level settings define global behavior like gravity and time, while interaction concepts describe how users move objects in a stable way.
Gravity Vector
The gravity vector defines the direction and strength of gravitational acceleration.
It pulls dynamic objects toward a chosen direction, usually downward.
Used to simulate natural falling, stacking, and weight in almost all physics‑based applications.
Global ForceTime Manipulator
A time manipulator scales the speed of the physics simulation.
Slowing time makes motion more visible; speeding it up makes everything more energetic.
Used for slow‑motion effects, debugging, and stylized gameplay or visualization.
Time ScaleDynamic Manipulation Allowed
This setting controls whether dynamic objects can be directly dragged or moved by the user.
When enabled, the engine applies forces or constraints instead of teleporting objects.
Used in editors and tools where users interactively reposition simulated objects.
User ControlRubber Band Interaction
Rubber band interaction uses a temporary spring‑like constraint between the cursor and an object.
It pulls the object toward the target instead of instantly snapping it there.
Used in editors and VR tools to keep physics stable while dragging objects around.
Soft ConstraintConstraint Forces
Constraint forces keep objects aligned with rules like joints, hinges, or springs.
They correct positions and orientations while still allowing some motion.
Used for doors, robotic arms, vehicles, and guided assembly paths.
JointsCompliant Constraints
Compliant constraints allow a bit of stretch or softness instead of being perfectly rigid.
This reduces jitter and makes motion feel more natural.
Used when objects should follow a target but still react smoothly to collisions.
Soft JointsGPU & Rendering Related Concepts
Modern physics and rendering often share GPU technologies to handle complex scenes and advanced visual effects.
Vulkan
Vulkan is a low‑level graphics and compute API designed for high performance and control.
It allows applications to efficiently use modern GPUs for rendering and sometimes physics compute.
Used in real‑time visualization, games, VR, and professional graphics tools.
Graphics APIGaussian Techniques
Gaussian methods, such as Gaussian splatting, use smooth blobs to represent surfaces or points.
They can be rendered or processed efficiently on GPUs for soft, continuous shapes.
Used in advanced rendering, point‑based scenes, and experimental simulation techniques.
Smooth RepresentationGPU Acceleration
GPU acceleration offloads heavy computations from the CPU to the graphics processor.
This enables more complex physics, larger scenes, and higher frame rates.
Used in modern engines for particle systems, fluid simulation, and large‑scale collision handling.
Parallel ComputeVoxelization
Voxelization converts geometry into a 3D grid of small cubes (voxels).
It is often a first step for SDF generation or volumetric effects.
Used in physics, lighting, destruction, and volumetric rendering techniques.
Volume Grid