2012年6月14日 星期四

[Unity Script] 引言

本人學習programming已久,也寫過FlashActionScript,最近第一次接觸Unity3D,希望創造一些電腦遊戲。在此容許我先介紹一下這個軟件。

Unity 是一個製作3D遊戲的遊戲引擎(game engine),它提供了大量操作3D物件的類別庫,至今發展已非常成熟,而它最重要的一個特點是,其腳本(script)是極輕量級的。在Unity 中,即使你完全不懂編寫程式,只要用數行script,你就可以做到平常可能要數千百行程式才做到的事,如旋轉﹑移動3D物體,配置場地,播放獨立動畫等 等。所以,基本上Unity是一個非常完善的3D遊戲開發框架(framework)。目前,Unity還支援在不同平台上發佈遊戲,如 AndroidIOSWindow等等。

更詳細的背景資料請參考Unity的官方網站: 
http://unity3d.com/
(備:你也可在其中找到Unity的主程式,並且免費下載)
若你希望快速入門Unity,了解其基本操作方法,我推薦以下網站:
 http://www.cg.com.tw/Unity/Unity.asp
在裡面,基本上你能大致學會如何使用Unity介面,創建ObjectCharacter,加入地形﹑樹木,等基本操作。

如果你已有基礎知識,想深入了解更仔細的東西,可參考以下網站:
http://design.gugebb.com/f7-forum

此,值得一提的是,Unity中有一非常重要的特徵,那就是,物件的創建與Script的創建是互相獨立的,你可以在Unity的編輯介面中,先製作好你 想要的物件,包括其大小﹑外形﹑材質等等,如果你想這物件擁有一些操作,你便可把獨立寫好的script移到物件中,這script便會成為該物件的組成 部份(Component)之一。這種做法的優點有很多:如,script可重用(同時給多個物件使用而互不干擾),加速開發,等等。

果你有學過flashactionScript,你可以把這些腳本理解為.as檔,每一個腳本都是一個類別(class),當你把Script指定到給 物件,就等同以類別定義了這一個物件。(當然,他們實際上是不同的,因為我們並非以建構函式來為對象進行初始化,而是使用start() function,這與Unity的底層處理有密切關系,目前你還不用理解它,但你只需記著,如果你想初始物件的一些屬性,你需要在start()內撰寫 腳本。)

在下一章,我們將會介紹如何利用腳本對物件進行一些基本操作。

Life_programmer

1 則留言: