Colliders and physics materials
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
Which colliders collide
Section titled “Which colliders collide”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
Shapes under PhysX
Section titled “Shapes under PhysX”| 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
Physic materials
Section titled “Physic materials”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
Project physics settings
Section titled “Project physics settings”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