以住寫過 spring camera 的文章, 這幾週在繁重的時間表當中終於有點空間可以製作 spherical coordinate 的追蹤系統,
遇到的問題如下
- 當年應該好好的學習一下 Matrix 及 sin cos tan.. 全忘了, 至少花了 10 多個工時, 就是在搞清楚 spherical 跟 cartesian coordinates 間的關係.
- 網上查找的都是 Zero (0,0,0) 點轉換, 害我又多花了 20 多個工時才找準動態計算相對坐標的轉換方式, 最後還是靠矇的
- 系統概念很簡單 hardcode, 作成 extendable 的 api 及 developing ui 才是最麻煩.
- Unity3D 裡的 camera preview. (Unity you fail me again.)
- FixUpdate, Update, LateUpdate
- Lerp 及 Slerp 間的奇怪關係, 其實也不奇怪喇~
- Cursor control on webplayer
基礎系統基本完成,但可加強的地方還有很多, plan for future features.
- zoom, polar, azimuthal min/max limit
- camera shake
- physical force reaction
- camera depth
- lens effect + HDR
- motion blur
- transition method
一次完成有點難度而且可用性會降低, 怎樣把這些 feature 製作 oop 元件分割開才可以達到更方便的效果.
Camera 的效果如下圖,
- WASD
- Mouse 1,2,3,4 button for camera
- ESC to exist cursor lock.
主要是流暢度及相對坐標的展示,
Reference :
- http://en.wikipedia.org/wiki/Spherical_coordinate_system
- http://blogs.msdn.com/b/ito/archive/2009/05/01/more-bones-04.aspx