2011年11月29日星期二

初探 Unity3D

最近開始看 Unity3D,原因:

  • 未來的藍圖中,預計會支援可輸出 Flash
  • 開發工具,免費,除非你要用到 Pro 級功能,版本比較:http://unity3d.com/unity/licenses.html
  • 有了視覺化開發工具,至少調整物體座標、貼圖、增加粒子引擎、設定物理碰撞...都可以輕易的達成
  • 若要自己寫 Script,它支援 JavaScript、C#、Boo Script,雖然第三種聽都沒聽過,不過能 google 到的範例大多以 JS 寫成,上手不難
  • 若有天想發佈到 iOS / Android 平台
  • Web Player 很小,就算未來對 Flash 輸出的支援程度有限制,也可考慮直接輸出 Unity3D 自己的版本,安裝 plug-in 時不用重新啟動瀏覽器,無痛



市面上已經有許多原文書籍可以參考:

Unity 3.x Game Development by Example: Beginner’s Guide
Publisher: Packt Publishing (September 2011)
http://www.wowebook.pro/book/unity-3-x-game-development-by-example-beginners-guide/

Unity 3 Game Development Hotshot
Publisher: Packt Publishing (August 2011)
http://www.wowebook.pro/book/unity-3-game-development-hotshot/

Beginning 3D Game Development with Unity
Publisher: Apress (May 2011)
http://www.wowebook.pro/book/beginning-3d-game-development-with-unity/

Unity 3D Game Development by Example: Beginner’s Guide
Publisher: Packt Publishing (September, 2010)
http://www.wowebook.pro/book/unity-3d-game-development-by-example/



看看範例,就可輕易製作出以下效果:






這個範例的開發過程大致如下:

1.
建立一個 Sphere 的 GameObject,隨意選個火球貼圖;在這個 GameObject 中,另外新增一個粒子引擎,並設定其顏色、能量、數量、影響力...




2.
將設計好的一組火球,變成 Prefab,類似 Flash 中 Library 的一個 Symbol,然後就可以在畫面上拖放數個火球:


3.
為火球寫一點程式,控制它不斷旋轉、計算 x, y 座標,並且不斷由 z 向 camera 移動:


4.
執行畫面大致如下,下圖中的上半部,是側視圖:


完成!



demo: http://dl.dropbox.com/u/15570140/Unity3DProjects/SpaceFireballs/demo/WebPlayer.html

source: dl.dropbox.com/u/15570140/Unity3DProjects/SpaceFireballs/project/SpaceFireballs.zip

0 意見: