這次撰寫的部分屬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#的部分