從零開始學基於ARKit的Unity3d遊戲開發系列18

在本課的內容中,我們將在屏幕中添加武器。

為此準備了相關的資源,請從此處下載:

鏈接:pan.baidu.com/s/1c2ezd7 密碼:o2g6

將下載的文件解壓縮,並拖動到Unity編輯器的Project視圖中的Assets文件夾中。

在繼續之前,要清理下我們的Assets文件組織,把之前創建的

幾個腳本文件全部拖動到_Scripts中。

打開WeaponPack文件夾,把其中的Pistol預設體拖動到Hierarchy視圖中,使之成為CameraParent-Main Camera- weapon1的子對象,如圖所示。

然後在Inspector視圖中設置Pistol的Transform屬性,如下圖所示。

當然,以上的具體參數其實比較主觀,只要最後在Game視圖中顯示的效果類似下圖即可:

然後在Hierarchy視圖中展開剛剛添加的Pistol預設體,直到找到最裡層的polySurface8。

然後在Inspector視圖中更改其材質屬性,將Main Maps中的Albedo屬性設置為hand

s

接下來在Hierarchy視圖中繼續在Pistol預設體的子對象中尋找到GunBody,如圖

然後在Inspector視圖中更改其材質屬性,將Main Maps中的Albedo屬性設置為m1911

此時Game視圖的效果如圖:

接下來我們要添加開火的效果。

在Hierarchy視圖中,給Pistol對象添加一個子對象,並將其命名為MuzzleFlash。

然後從Project視圖中找到Standard Assets-ParticleSystems-Prefabs,將Flare拖動為MuzzleFlash的子對象。

接下來記得在Inspector視圖中重置MuzzleFlash和Flare的Transform位置信息。

在Hierarchy視圖中,刪除Flare對象的Sparks子對象。

此時在Scene視圖中注意觀察手槍的相關顯示,為方便起見,甚至可以暫時關閉其它場景對

象。

然後使用移動工具將MuzzleFlash調整到槍口附近的位置。

然後在Hierarchy視圖中選中Flare,在Inspector視圖中更改相關的屬性:

1.將Duration調整為1.

注意,將其子對象Smoke的Duration也調整為1。

2.展開Emission屬性

將Rate over Time更改為0,並增加一個Burst屬性,設置如下圖所示。

對Flare的子對象Smoke進行相似的設置。不同之處只是在Bursts處是從三個中刪除下面的兩個。

接下來讓我們替換開火的效果。

在Project視圖中從WeaponPack文件夾中找到muzzleFlash這個空的材質,將其紋理設置為MuzzleFlash,如圖所示。

然後將muzzleFlash材質拖動到Hierarchy視圖中的Flare對象上。

選中Flare的子對象Smoke,並在Transform中稍微調整下位置。並取消勾選Looping。

對Flare對象也要取消勾選Particle System中的Looping屬性。

再次提醒大家,這裡的很多參數設置是比較主觀的,你可以調整到自己滿意為止~

好了,本課的內容就到此結束了,我們下一課再見~

溫馨提示:

本系列圖文連載內容首發於我的微信公眾號,2018年1月5日起,每周至少更新一次。

如果你有關於虛擬現實方面的任何問題,歡迎關注我的微信公眾號:vrlife,參與互動問答。


推薦閱讀:

Unity3D程序腳本反編譯分析與加密
Unity3D UGUI優化:製作鏡像圖片(2)
基於物理的渲染—基於Haar小波基的實時全局光照明
大萌喵的著色器特效第二發---相交高亮(掃描效果)
優化筆記:C# 從 List<T> 移除空元素

TAG:虚拟现实技术 | Unity游戏引擎 |