前言:
從這一篇章開始,我將會通過遊戲例項來講解如何使用unity製作一個標準的遊戲,介紹的內容較多,需要整理的東西也多可能中途會有一兩天的咕咕咕,預計想要完成兩個遊戲,一個射擊類一個塔防類,從射擊類開始。
素材來源於網路、資料附贈、自行製作以及unity商店購買使用等等,整個遊戲完成後會放上可用的素材包。思考了下,語言改成英文,涉及到的英文儘量翻譯出來放在文章開頭或結尾,這次的翻譯就放到下篇文章了。
射擊類遊戲例項
作為第一個用來發布講解的遊戲,我立馬就想到了射擊類遊戲,當然不是第一人稱射擊的那種,是打小飛機累計得分的那種型別,方便魔改引數以及自行製作一些敵人的模型。
遊戲相關設定:
1.在遊戲中,我們將操作戰艦擊墜敵人的飛船,遊戲開始後戰艦會向前推進,消滅敵人取得分數,戰艦被擊落遊戲才會結束。
2.戰艦擁有固定裝甲(血量),敵人有多種並擁有獨特的飛行軌跡與裝甲
3.螢幕上會顯示血量、得分等內容
4.待新增
資源匯入
右鍵【Assets】—【Import new Asset】—選擇素材所在資料夾
或者直接將檔案拖入視窗
Project(專案)視窗是一個瀏覽器視窗,主要負責資源管理,它與系統硬碟上當前遊戲工程的Assets資料夾是對應的。也就是說可以在專案視窗進行檔案操作。
場景建立
遊戲背景為太空,是一顆巨大的星球與浩瀚的星空(雖然做出來可能有點糊),下面介紹如何建立材質球併為星空完成UV動畫。
1.選單欄【File】—【New Scene】建立一個新場景
2.【File】—【Save Scene As】,將當前場景存放至Assets資料夾下並命名
3.選單欄【GameObject】—【3D Object】—【Plane】,建立一個平面體作為地圖背景
4.右鍵【Project】—【Create】—【Material】,建立一個材質球並命名為Background,選擇貼圖為背景圖片mars(Albedo左邊有個按鈕)
5.選中之前建立的背景模型,在Inspector視窗中【Materials】一欄下有Element0,指定Background材質球
6.這時候會發現貼圖周圍有多出的邊框,選擇材質球,將Rendering Mode設為Cutout就能顯示出透明效果
7.建立另一個平面體,放大一些,置於上一個貼圖下方作為星球的背景,為其建立材質球【Unlit】—【Texture】,指定對應星空圖片為背景
星空背景不需要接受光線,直接更換個材質就行,Shader類似於模板,選擇不同Shader有不同的質感表現
8.選中星空模型,右鍵【Project】—【create0】—【Animator Controller】,建立一個動畫控制器,拖動動畫控制器至Inspector視窗空白處,將動畫控制器元件指定給星空背景模型
這操作會給星空模型新增一個Animator動畫元件,並自動與當前的動畫控制器關聯
9.【Window】—【Animation】—【Animation】開啟動畫視窗,Create一個動畫檔案儲存在Assets資料夾下
10.【Add Property】—【Material_Main_Tex_ST】,前進30幀,將w值改為-1,星空背景就能進行迴圈移動了
當前完成效果:
總結:
相關的攝像機和燈光強度之類將會放到之後演示,後續會把詳細的動畫講解放到一起,上邊演示了建立一個貼圖星球和會移動的星空背景,使用了現成的素材,之後會替換掉(這個看上去小違和),很多方面只說瞭如何操作並沒有詳細講解,之後的例項內容應該會更簡略,具體版塊功能使用方法什麼的在後續學習後會另開個分類講解。一個人去完成策劃、程式設計、美術製作、專案管理、文章編寫屬實需要時間,現在越發崇拜個人完成製作的遊戲,比如我最喜歡的《我的世界》。