Quick answer: RigidBody3D → continuous_cd = CCD_MODE_CAST_RAY. Project tick rate 120Hz for high-speed games.
Fast bullet RigidBody3D passes through walls. Discrete CD per tick steps further than wall is thick.
The Fix
extends RigidBody3D
func _ready():
continuous_cd = CCD_MODE_CAST_RAY
linear_velocity = Vector3.FORWARD * 2000
# project.godot
[physics]
common/physics_ticks_per_second = 120
common/max_physics_steps_per_frame = 8
CCD_MODE_CAST_RAY sweeps a ray from previous to current position. Higher tick rate reduces per-step distance.
Verifying
Bullet hits wall consistently. Without CCD: tunnels in >50% of shots.
“CCD on. Tick up. Hits land.”
Related Issues
For Area2D fast mover, see CCD 2D. For ShapeCast3D plane, see ShapeCast3D.
CCD. Tick up. No tunnel.