Procedural Cameraman
A procedural cameraman in Unreal Script / UDK.
Among other things I program game cameras. I have also animated and scripted a few cameras for cinematic scenes. I had this idea: what if we could have a procedural camera that would behave like a cinematic camera? What if we could have the Children of Men or Cloverfield movie camera in a game and it'd be pretty much fully automatic so we wouldn't have to animate the same shaky cam over and over? We could use it for cinematic scenes, multi-player replays or spectactor cameras, ...!
I took UDK, got a UT bots game running and wrote a camera controller. Here are the highlights:
- It tracks a player and changes point of view when there is occlusion
- New point of views are guaranteed to have line of sight to the target
- Target changes if the bot dies
- Only interaction is 1 key to trigger a zoom change (no control over zoom level, just trigger a change)
- Zoom changes are animated (over-zoom / unzoom / adjustments, quick zoom, long unzoom, etc.), by various presets that feel handheld / amateur
- Position tracking damping is proportional to the FOV
- Camera shake (noise frequency and amplitude) is taking into account the velocity of the target, FOV and time
- Most settings are blended or damped over time so the experience is more natural (no undesired pop)