natiny_entity_set_parent

C
void natiny_entity_set_parent(NatinyEntity child, NatinyEntity parent);

Sets the parent of a node, creating a parent-child hierarchy. The child node's transform becomes relative to its parent.

Parameters

Name Type Description
child NatinyEntity Child Entity handle
parent NatinyEntity Parent entity handle, or 0 to detach

Example

C
natiny_entity_set_parent(hand, arm);

Notes

  • Reparenting preserves the child's local position, rotation and scale; its world transform therefore changes immediately relative to the new parent.
  • Pass 0 as parent to detach the child. Its local transform is preserved and becomes its world transform.
  • Detaching is also what spares a child from its parent's destroy: every destroy that owns an entity takes the whole subtree under it with it.
  • When the parent should be a point rather than a thing - an axle, a mount, a muzzle - make it a pivot: a node with a transform and nothing else.
  • natiny_entity_get_parent reads the parent back, and answers 0 for a node at the root.