Kinematic bodies, inactive GameObjects, and collider migration onto a new Rigidbody #72

Closed
opened 2026-09-05 09:37:00 +00:00 by crowmaki · 0 comments
Owner

Parent

Part of #67.

What to build

The remaining body kinds and lifecycle edges work. A kinematic Rigidbody copies its GameObject's World Transform into its body before each step, so moving it with the Scene API moves it in the world and a dynamic cube resting on it is carried. A Rigidbody whose GameObject is not Active in Hierarchy has its body disabled on the step it is first seen inactive and re-enabled when seen active again, so it neither moves nor blocks. Adding a Rigidbody to a GameObject that already carries Box_Colliders on an Implicit Static Body recreates their shapes on the new body and destroys the implicit one.

Acceptance criteria

  • A kinematic body moved with the Scene API is where it was put after the step, and a dynamic cube resting on it moves with it.
  • Deactivating a falling cube's GameObject freezes its World Transform; reactivating resumes the fall.
  • Adding a Rigidbody to a collider-only GameObject makes it fall, and body_count does not double-count the migrated object.
  • Every test runs Headless in the core suite.

Blocked by

  • #71 A cube falls onto a plane
## Parent Part of #67. ## What to build The remaining body kinds and lifecycle edges work. A kinematic `Rigidbody` copies its GameObject's World Transform into its body before each step, so moving it with the Scene API moves it in the world and a dynamic cube resting on it is carried. A `Rigidbody` whose GameObject is not Active in Hierarchy has its body disabled on the step it is first seen inactive and re-enabled when seen active again, so it neither moves nor blocks. Adding a `Rigidbody` to a GameObject that already carries `Box_Collider`s on an Implicit Static Body recreates their shapes on the new body and destroys the implicit one. ## Acceptance criteria - [ ] A kinematic body moved with the Scene API is where it was put after the step, and a dynamic cube resting on it moves with it. - [ ] Deactivating a falling cube's GameObject freezes its World Transform; reactivating resumes the fall. - [ ] Adding a `Rigidbody` to a collider-only GameObject makes it fall, and `body_count` does not double-count the migrated object. - [ ] Every test runs Headless in the core suite. ## Blocked by - #71 A cube falls onto a plane
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
crowmaki/cinnabar#72
No description provided.