CineSys : A Real-time Cinematography Engine for Interactive 3D Environments