As promised, the general outline for the camera control article is as follows (slightly modified from my thesis):
Article/Section 1 - Camera Control Techniques
This article basically describes the different techniques that have been applied to controlling the position/motion of virtual camera systems.
- Coordinate Transformation.
- Polar Coordinates.
- Spherical Coordinates.
- Applying spring systems to improve camera motion with polar/spherical coordinates.
- Quaternion Interpolation.
- Proportional Controllers.
- Potential Fields.
- Path Planning and Spline systems.
- Image-based Visual Servoing.
- Constraint Satisfaction Methods. (This was the focus of my thesis, so it is more detailed than some of the previous methods).
Article/Section 2 - Cinematography and Replay Camera Systems
This article covers the 'higher-level' concepts involved in cinematography and replay systems. I don't personally find either of these interesting, so the theory won't be overly detailed (sufficient though).
- Formal Languages and Path Planning.
- State-based Cinematography.
- Agents and Intelligent Assistants.
- Constraint-based Cinematography.
- Knowledge-based Cinematography.
Article/Section 3 - Occlusion Detection and Avoidance Systems
This article covers the different methods for detecting and avoiding occlusion. The methods can be mixed-and-matched quite a bit.
Occlusion Detection Methods (some of these have sub-categories):
- Ray-casting Methods.
- Bounding Volume Casting.
- Overlapping Bounding Volumes.
- Examining Image Composition (hemicubes, shadowing, etc.).
Occlusion Avoidance Methods:
- Default Movement on Occlusion.
- Movement based on ray-intersection.
- Movement based on image composition.
- Path Finding (including the 'bread-crumbing' approach).
- Potential Fields.
- Cheating: Occluder Manipulation (making occluders transparent, moving them, etc.).
There are different control techniques that can be discussed as well, but I'm not sure which article to attach them to. There are also a lot of specific problems that are associated with occlusion that I haven't listed here, but will be covered.
Any feedback on techniques you think are missing (I'm sure there will be some) is welcomed.
In other news, I've got a phone interview on Friday morning for a job at my University (lectureship). Getting a job in the real-world still frightens me. I'll be preparing different materials for that interview all week, so I won't make any headway into the camera control article until at least next week.
Last Friday I received the 3 books I was waiting on. I have almost finished reading Programming C# (excellent book, thanks for the heads-up). Once I feel a bit more comfortable with C#, I'll attack Game Engine Toolset Development. The other book was my 2 copies of AI Game Programming Wisdom 3 (2 copies since I'm an author). I've had a quick flick through some of the articles, and there seems to be a lot there that interests me.
I did complete "Mr Wibbly", but after reading the book on C#, I realized just how badly I had programmed it. I won't be releasing the source/binary unless anyone is really interested.