製作炮台的旋轉
大家知道,炮台需要向四周不同的角度發射炮彈,這就需要我們將炮台設定成為會旋轉的物體,接下來我們就一起製作一個會旋轉的炮台。
第一步:給炮台的炮筒添加旋轉函數。
給炮台的炮筒部分添加一個旋轉函數,使得炮台隨著滑鼠在X方向上的移動而移動。在Project專案檔欄】中右鍵——> ——> 建立一個JS函數,並按F2將其更名為“TurretRotate”,然後輸入如下代碼。
點選情境面板中的炮塔,找到炮塔上半部分所對應的對象,11.1所示:
圖11.1
接著將剛才的 檔案拖拽給這個對象。
第二步:設定攝像機跟隨。
選中攝像機對象“Camera”,點選功能表列中的 ——> ——> ,為攝像機添加一個平滑的跟隨代碼,但這裡並沒有設定跟隨對象。
繼續選中攝像機對象,在它的屬性面板中找到“Smooth FollowScript)”卷展欄下的“Target”,然後將炮台上半身對象拖拽給它。11.2所示:
圖11.2
第三步:運行遊戲,觀察效果。
點擊測試按鈕 ,試著移動下滑鼠看看炮塔的旋轉效果。11.3所示:
圖11.3
攝像機隨著炮塔的旋轉而旋轉,而G.U.I表徵圖和G.U.I文字一直在畫面的左上方不動,效果很不錯。
註:這裡需要注意的問題一個是攝像機的動作容易發生衝突,所以在設定的時候,需要注意將不使用的攝像機動作關閉。還有一點是模型製作完成匯出的時候,需要注意將模型的座標軸設定好,否則在指令碼執行的時候,會出現攝像機不能與炮口方向一致的情況。
製作炮彈的射擊和爆炸效果
製作完了炮台的旋轉,接下來我們繼續製作炮彈相關的效果。
第一步:建立炮彈。
點擊功能表列的 ——> ——> ,建立一個球體模型,並利用情境調整工具將其調整到和炮口差不多的大小。12.1所示:
圖12.1
第二步:給炮彈添加貼圖。
找兩張金屬材質的貼圖,第一張為基本RGB貼圖,第二張為普通顯示的貼圖,12.2所示:
圖12.2
這樣做是為了一會在給物體賦予材質時,讓它有立體的感覺。您也可以只給物體照一張貼圖材質。找到想要的材質貼圖之後,將它們拷貝到專案檔夾中的“Assets”資源】檔案夾內。
接下來選中剛才的球體模型,在它的屬性面板中找到材質球下拉選項框。將他的渲染模式改為“Bumped Diffuse”,緊接著將深色的材質貼圖拖放給第一個材質框,將淺色的材質貼圖拖放給第二個材質框。12.3所示:
圖12.3
於是我們就會得到一個帶有材質效果的炮彈了。
第三步:設定炮彈的發射效果。
在功能表列中點選 ——> ——> ,建立一個預製類對象,並按下F2鍵將它的名字改為“Shot”,然後將球體模型拖入到預製對象中,並剔除情境面板中的炮彈模型。
但是這時的球體模型僅僅是在外觀上有了炮彈的樣子,我們還得讓它具有炮彈一樣的物體特性。接著在功能表列中點選 ——> ——> ,為炮彈添加一個剛體屬性。
第四步:設定炮彈的發射起點。
在功能表列中點選 ——> ,建立一個Null 物件放置在炮口,作為一會炮彈發射的起始點。按下F2將其更名為“FirePoint“。然後在Hierarchy層次清單欄】中,把“FirePoint“拖拽到炮塔上半部分的旋轉對象中去,這樣可以使得它和炮塔一起旋轉。
第五步:為炮彈建立發射函數。
在Project專案檔欄】中右鍵——> ——> 建立一個JS函數,並按F2將其更名為“Open Fire”,然後輸入如下代碼。
輸入完畢之後,將該代碼拖拽給Hierarchy層次清單欄】中的發射對象“FirePoint“,然後我們會發現在屬性面板中的“FirePoint “介面和”Bullet“介面對象為空白。所以我們必須得把發射點對象“FirePoint“和炮彈對象”Shot“拖拽到兩個對應的介面上。12.4 所示:
圖12.4
第六步:添加火花效果。
接下來我們按下測試按鈕 看看效果。大家會發現朝前發射的炮彈再碰到山體後,都被彈了起來。所以說此時我們製作的炮彈還只是一個球體,並不會爆炸。接下來我們還要繼續作出炮彈的爆炸效果。
在Project專案檔欄】的尋找框中輸入“Fireworks“關鍵字,將尋找到的 拖拽到情境面板,您會看到一個動態即時爆炸火花。12.5所示:
圖12.5
接著確保該對象為選中狀態,到它的屬性面板中調節它的各個屬性值,直到達到您想要的效果為止。12.6所示:
圖12.6
接下來在功能表列中點選 ——> ——> ,建立一個預製類對象,並按下F2鍵將它的名字改為“BoomPrefab”,然後將這個爆炸火花拖拽到預製對象中去,並刪除情境面板中的火花。
第七步:為炮彈建立爆炸效果。
添加一段JavaScript代碼,取名叫做“Boom“,這段代碼的主要作用是給炮彈添加一個碰撞檢測。如果炮彈碰撞到任何物體,就讓炮彈在情境中消失,並在炮彈碰撞消失的地點載入爆炸火花的預製對象。具體代碼如下:
輸入完畢之後儲存該代碼,並把這段代碼拖拽給炮彈預製對象“Shot“。然後點選預製對象”Shot“,在它的屬性面板中找到剛才拖拽給它的”Boom “卷展欄,再將爆炸火花預製對象”BoomPrefab“拖拽給它的介面”BoomFire“。運行遊戲,看一下效果。12.7所示:
圖12.7
第八步:設定爆炸效果的消失。
剛才一系列的設定之後,大家已經能夠很明顯的看到爆炸之後的火花效果,但它會一直在那裡閃爍,並不會消失。這嚴重違背了現實生活的景象,所以我們還得為它加上一段時間限定消失代碼。
繼續建立JavaScript代碼,更名為“desBoom“,具體代碼見下:
輸入完畢之後,將這段代碼拖拽給爆炸火花預製對象“BoomPrefab“。再次運行程式,我們會發現火花在爆炸產生2秒後就自動消失了。
第九步:為爆炸效果添加音效。
完成了畫面效果的製作,我們還需要給遊戲添加上非常重要的一個元素——聲音。其實這個過程非常簡單,只需要在網路上搜尋一個您認為合適的聲音,並將這段聲 音檔案添加入專案檔夾的“Assets“資源】檔案夾內。然後在Project專案檔欄】中,將其拖拽給爆炸火花的預製對象 “BoomPrefab“,這樣音效檔就可以和爆炸火花同時產生了。
如果您覺得聲音需要做適當的調節,例如“是否在預製對象產生時播放?“,”聲音是否迴圈播放“等這些問題。我們都可以在選中預製對象後,在它的屬性面板中找到聲音的調節卷展欄,對它一一進行調節。
以上就是這款強大的跨平台3D遊戲開發工具Unity3D的基礎入門教程了。相信大家看過之後多加練習,一定能夠製作出非常優秀的3D遊戲,也希望本教程能夠協助大家較快的上手Unity3D,謝謝!