Skip to content

Colliders and physics materials

UnityCollision and physicsApplies toSkateBIRDSleddingPEAK

Collision in a Unity scene is made of colliders, components on GameObjects: BoxCollider (65), SphereCollider (135), CapsuleCollider (136), MeshCollider (64), and TerrainCollider. Each stores its shape in the GameObject’s local space, whether it is a trigger, and an optional physic material. Sourced · Unity scripting reference Collision geometry in SkateBIRD is real geometry: its playground has 4,133 MeshColliders and 1,338 BoxColliders, bedroom 1 has 1,669 and 515. Observed · SkateBIRD

A collider is collision geometry when it is not a trigger and is not moved by physics: it has no Rigidbody, or its Rigidbody is kinematic. A trigger detects overlaps and does not collide. The GameObject must be active and the collider enabled (inactive state). Sourced · Unity scripting reference

Shape How Unity applies the transform Confidence
box the box size and center in the collider’s space, under the whole world matrix (rotation and non-uniform scale apply exactly) Sourced · Unity scripting reference
sphere the radius scales by the largest absolute axis scale of the world matrix Sourced · Unity scripting reference
capsule the height scales by its axis’ scale (direction: 0 x, 1 y, 2 z; the height includes the caps) and the radius by the largest of the other two Sourced · Unity scripting reference
convex mesh the convex hull of the mesh’s vertices; PhysX cooks at most 255 polygons per hull, so a larger hull is simplified Sourced · Unity scripting reference
concave mesh the mesh’s triangles, all submeshes, with each submesh’s base vertex applied Sourced · Unity scripting reference
terrain the heightfield of the terrain’s TerrainData; a collider may name its own TerrainData whose heights differ from the drawn ones Sourced · Unity scripting reference

A sphere or capsule under a non-uniform scale is not an ellipsoid: PhysX keeps the shape round and applies the rule above. Sourced · Unity scripting reference

SkateBIRD builds many of its colliders with a convex-decomposition tool (the Technie.PhysicsCreator types in Assembly-CSharp.dll): an object’s collision is a set of small convex pieces, so one piece’s extent (such as 0.5 m) is not the extent of the object it belongs to. Inferred · SkateBIRD

A PhysicMaterial (class 134) stores a dynamic friction, a static friction, a bounciness and two combine modes (0 Average, 1 Minimum, 2 Multiply, 3 Maximum). The field names depend on the Unity version, see type trees. Sourced · Unity scripting reference Most colliders have none. Observed · SkateBIRD

Game Material Dynamic / static friction Bounciness Friction / bounce combine Confidence
SkateBIRD SkateBase Frictionless 0 / 0 0 Minimum / Minimum Proven · SkateBIRD
SkateBIRD SkateBase InAir 0.3 / 0.3 0 Average / Average Proven · SkateBIRD
SkateBIRD SkateBase Tumbling 0.4 / 0.4 0 Average / Average Proven · SkateBIRD
SkateBIRD SkateWheels 0.001 / 0.05 0.06 Minimum / Minimum Proven · SkateBIRD
SkateBIRD Bouncy Birb 0.6 / 0.6 1.0 Average / Average Proven · SkateBIRD
SkateBIRD Hard Grippy Floor (sharedassets5) 1.0 / 1.0 0 Average / Average Proven · SkateBIRD
Sledding Snow 0.1 / 0.1 0 Average / Average Proven · Sledding
Sledding Ice Lake 0.01 / 0.01 0.1 Minimum / Average Proven · Sledding
Sledding Slippery 0.015 / 0.015 0.1 Minimum / Average Proven · Sledding
Sledding Maximum Friction, Snowman Ball 1000 / 1000 0.5, 0.1 Maximum / Average Proven · Sledding
Sledding Bouncy 0.6 / 0.6 1.0 Average / Average Proven · Sledding
Sledding Cornhold Beanbag, Ragdoll 1.0 / 1.0 0 Average / Average Proven · Sledding
Sledding Curling Stone 0.6 / 0.6 0 Average / Average Proven · Sledding
PEAK Slippery, Player 0 / 0 0 Multiply / Multiply Observed · PEAK
PEAK StickySnow 1.0 / 1.0 0 Minimum / Multiply Observed · PEAK
PEAK Backpack 1.0 / 1.0 0 Maximum / Multiply Observed · PEAK
PEAK Basketball, BasketballHoop 1.0 / 1.0 0.7, 0.1 Maximum / Maximum, Minimum Observed · PEAK
PEAK TumbleWeed 0.6 / 0.6 0.7 Average / Average Observed · PEAK

Each table row covers every PhysicMaterial of the install’s serialized files (the PEAK rows cover its loose files, not its level bundles). A “Proven” row is the whole of that install: SkateBIRD has six physic materials, Sledding Game nine. Proven · SkateBIRD, Sledding

The PhysicsManager in globalgamemanagers stores the project’s settings; the TimeManager the simulation step.

Setting SkateBIRD Sledding Game PEAK 3.0.0 Confidence
gravity (m/s²) (0, −9.81, 0) (0, −9.81, 0) (0, −19.62, 0) Proven · SkateBIRD, Sledding, PEAK
solver iterations 64 6 10 Proven · SkateBIRD, Sledding, PEAK
bounce threshold 0.5 2 2 Proven · SkateBIRD, Sledding, PEAK
default material none none none Proven · SkateBIRD, Sledding, PEAK
fixed timestep 1/60 s (0.016667) 0.02 s (a count over a rate of 141,120,000) 0.01666 s (count 2,351,059 over 141,120,000) Proven · SkateBIRD, Sledding, PEAK
maximum allowed timestep 0.3333 s 0.3333 s 0.1667 s Proven · SkateBIRD, Sledding, PEAK

In the two Unity 6 games the fixed timestep is stored as a rational (m_Count over m_Rate.m_Numerator); SkateBIRD’s 2019.4 build stores a float. Proven · SkateBIRD, Sledding, PEAK