切換
舊版
前往
大廳
主題

資策會Unity課程「Untiy入門」Day3&4

冰劍士-冰雪飛 | 2014-10-10 23:08:05 | 巴幣 12 | 人氣 1746

這次撰寫的部分屬10/08~10/09連續兩天的課程,所以晚了點放上來

雖然說是Unity入門,不過內容上應該算是超出入門一些了

理論上來講Unity的入門偏重介面功能操作,不過現在教的已經深入很多撰寫程式腳本的部份去

這篇可能會寫得不太好,觀念上的東西很多,筆記沒寫到很多
========================================================================
先來介紹點API的部分

SnedMessage("methodname",value);
呼叫事先寫好的函式

AddForce(向量);
對此物件進行推力(增加向量),2D向量輸入new Vector2(x,y)、3D向量輸入new Vector3(x,y,z)
需要搭配Rigidbody這個Component,像是發射砲彈等

velocity
這是個變數,是指目前向量狀態值,寫法大致上像這樣
rigidbody.velocity.y>0
這樣是指目前y軸速率大於0,也就是向上跑的意思,可以當作判斷角色是否還在向上飛

GameObject的各種關係,一個GameObject內還可以再塞多個GameObject,就像下圖

而有時我們寫程式腳本時會需要找尋父類別的GameObject,此時就需要這樣的語法
gameobject.transform.parent..............後面可以接你要找的資訊

GetKey和GetKeyDown的差別在於前者可以持續性後者則為按下去的瞬間執行
所以有些遊戲會有所謂的集氣和連射動作,就需要以此為區別
而有另一個是GetKeyUp,是按鍵放開的瞬間執行,不過通常用GetKeyDown就很足夠了

Resources.LoadAssetAtPath("目標",typeof(GameObject));
可以讀取Asset資料夾內的任一資源,對於已經Perfab的GameObject來講很常用
要不斷呼叫多個同樣物件時就用的到
========================================================================
Pro版有個功能就做Profiler
可以在Window>Profiler找到,用途是檢測你的遊戲哪裡被吃掉太多資源
藉此找到讓遊戲更有效率的執行方法
========================================================================
在遊戲的製作,很常需要關於座標上的數學計算,這邊就舉個簡單的例子
有時你會在遊戲中看到同伴在地圖中會跟隨主角移動,跟隨系統就是運用數學公式的其中道理

夥伴如何讀取跟隨主角走的向量路徑,這圖就是整體上的基本算式
剩下的就是把圖上的攻勢轉換成程式腳本
========================================================================
其餘沒提到的部分算是超出入門許多,再加上撰寫這篇文章的時間有點晚了
課堂最後有實作一個簡易「俄羅斯方塊」,在下次上課前應該會再補一篇這遊戲的概念

最後「Unity入門」課程正式結束,接下來是「C#」課程
之後的文章開始會變成C#的部分

創作回應

Ultimater
我們是做FPS那一組的喔,3:20分才剛開始啊,所以剛剛好沒錯過什麼
2014-10-11 22:07:52
冰劍士-冰雪飛
是那個殭屍生存的那組嗎?
2014-10-11 22:57:23
Ultimater
是啊,殭屍那一組的,很多東西都沒做完,感覺還不夠完整
2014-10-11 23:54:47
冰劍士-冰雪飛
整體特效最好的一組,不過我跟同班的討論過敗筆出在9宮格這系統
至於原因我現在也說不清楚(疑似跟殭屍追蹤判定有關)
題外話:你們的模組是用Asset Store上提供的模組再去繪製的嗎?
2014-10-12 00:17:12
Ultimater
喔? 九宮格是敗筆?怎麼說?
2014-10-12 00:38:56
Ultimater
九宮格是我們要把AI資源做optimize 不然系統一直做spawn會很吃資源,就像你看到的,整體特效已經吃了不少效能了。我們的模組是去網路上找的。
2014-10-12 00:42:07
Ultimater
當然整個場景是自己製作的,400*400的地圖真的不好搞就是了...
2014-10-12 00:45:50

更多創作