Skip to content

Camera Collider

App: apps/camera_collider/

The occlusion collider (Camera epic, ADR 0059). A wall sits between the player and where a third-person camera wants to be. Without the collider the wall fills the view (the player is hidden); with .collider(padding) the camera pulls in front of the wall so the player stays visible.

_plain = Cam.thirdPerson(scene, player).distance(4)
_collided = Cam.thirdPerson(scene, player).distance(4).collider(0.3) // 0.3m clearance off walls
Terminal window
% ./plume3d camera_collider

The wall is a static physics body (Physics.addStaticBox); each frame the collider casts a masked ray from the target to the camera (the same query behind Raycast.fromPointMasked) and, if a wall is hit, pulls the camera in to just in front of it — fast in (never clips a frame), slow out (no pop). Screenshots collider_off (the wall fills the view) then collider_on (the player is visible).