自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unity3D開發(fā):制作一個(gè)功能完整的炮臺

移動開發(fā) Android 游戲開發(fā)
本文屬于Unity3D引擎開發(fā)基礎(chǔ)教程系列,通過前面所學(xué)的知識,我們來制作一個(gè)可以旋轉(zhuǎn)、發(fā)射炮彈并且有爆炸效果的炮臺。

制作炮臺的旋轉(zhuǎn)

大家知道,炮臺需要向四周不同的角度發(fā)射炮彈,這就需要我們將炮臺設(shè)置成為會旋轉(zhuǎn)的物體,接下來我們就一起制作一個(gè)會旋轉(zhuǎn)的炮臺。

***步:給炮臺的炮筒添加旋轉(zhuǎn)函數(shù)。

給炮臺的炮筒部分添加一個(gè)旋轉(zhuǎn)函數(shù),使得炮臺隨著鼠標(biāo)在X方向上的移動而移動。在Project【項(xiàng)目文件欄】中右鍵——> 1.JPG ——> 2.JPG 新建一個(gè)JS函數(shù),并按F2將其更名為“TurretRotate”,然后輸入如下代碼。

3.JPG

點(diǎn)選場景面板中的炮塔,找到炮塔上半部分所對應(yīng)的對象,如圖11.1所示:

4.JPG

圖11.1

接著將剛才的 5.JPG 文件拖拽給這個(gè)對象。

第二步:設(shè)置攝像機(jī)跟隨。

選中攝像機(jī)對象“Camera”,點(diǎn)選菜單欄中的 6.JPG ——> 7.JPG ——> 8.JPG ,為攝像機(jī)添加一個(gè)平滑的跟隨代碼,但這里并沒有設(shè)置跟隨對象。

繼續(xù)選中攝像機(jī)對象,在它的屬性面板中找到“Smooth Follow(Script)”卷展欄下的“Target”,然后將炮臺上半身對象拖拽給它。如圖11.2所示: 9.JPG

圖11.2

第三步:運(yùn)行游戲,觀察效果。

點(diǎn)擊測試按鈕 10.JPG ,試著移動下鼠標(biāo)看看炮塔的旋轉(zhuǎn)效果。如圖11.3所示:

11.JPG

圖11.3

攝像機(jī)隨著炮塔的旋轉(zhuǎn)而旋轉(zhuǎn),而G.U.I圖標(biāo)和G.U.I文字一直在畫面的左上角不動,效果很不錯(cuò)。

注:這里需要注意的問題一個(gè)是攝像機(jī)的動作容易發(fā)生沖突,所以在設(shè)置的時(shí)候,需要注意將不使用的攝像機(jī)動作關(guān)閉。還有一點(diǎn)是模型制作完成導(dǎo)出的時(shí)候,需要注意將模型的坐標(biāo)軸設(shè)置好,否則在腳本執(zhí)行的時(shí)候,會出現(xiàn)攝像機(jī)不能與炮口方向一致的情況。

制作炮彈的射擊和爆炸效果

制作完了炮臺的旋轉(zhuǎn),接下來我們繼續(xù)制作炮彈相關(guān)的效果。

***步:創(chuàng)建炮彈。

點(diǎn)擊菜單欄的 12.JPG ——> 13.JPG ——> 14.JPG ,創(chuàng)建一個(gè)球體模型,并利用場景調(diào)整工具將其調(diào)整到和炮口差不多的大小。如圖12.1所示:

15.JPG

圖12.1

第二步:給炮彈添加貼圖。

找兩張金屬材質(zhì)的貼圖,***張為基本RGB貼圖,第二張為普通顯示的貼圖,如圖12.2所示:

16.JPG

圖12.2

這樣做是為了一會在給物體賦予材質(zhì)時(shí),讓它有立體的感覺。您也可以只給物體照一張貼圖材質(zhì)。找到想要的材質(zhì)貼圖之后,將它們拷貝到項(xiàng)目文件夾中的“Assets”【資源】文件夾內(nèi)。

接下來選中剛才的球體模型,在它的屬性面板中找到材質(zhì)球下拉選項(xiàng)框。將他的渲染模式改為“Bumped Diffuse”,緊接著將深色的材質(zhì)貼圖拖放給***個(gè)材質(zhì)框,將淺色的材質(zhì)貼圖拖放給第二個(gè)材質(zhì)框。如圖12.3所示:

17.JPG

圖12.3

于是我們就會得到一個(gè)帶有材質(zhì)效果的炮彈了。

第三步:設(shè)置炮彈的發(fā)射效果。

在菜單欄中點(diǎn)選 18.JPG ——> 19.JPG ——> 20.JPG ,創(chuàng)建一個(gè)預(yù)制類對象,并按下F2鍵將它的名字改為“Shot”,然后將球體模型拖入到預(yù)制對象中,并剔除場景面板中的炮彈模型。

但是這時(shí)的球體模型僅僅是在外觀上有了炮彈的樣子,我們還得讓它具有炮彈一樣的物體特性。接著在菜單欄中點(diǎn)選 21.JPG ——> 22.JPG ——> 23.JPG ,為炮彈添加一個(gè)剛體屬性。

第四步:設(shè)置炮彈的發(fā)射起點(diǎn)。

在菜單欄中點(diǎn)選 24.JPG ——> 25.JPG ,創(chuàng)建一個(gè)空對象放置在炮口,作為一會炮彈發(fā)射的起始點(diǎn)。按下F2將其更名為“FirePoint“。然后在Hierarchy【層次清單欄】中,把“FirePoint“拖拽到炮塔上半部分的旋轉(zhuǎn)對象中去,這樣可以使得它和炮塔一起旋轉(zhuǎn)。

第五步:為炮彈創(chuàng)建發(fā)射函數(shù)。

在Project【項(xiàng)目文件欄】中右鍵——> 26.JPG ——> 27.JPG 新建一個(gè)JS函數(shù),并按F2將其更名為“Open Fire”,然后輸入如下代碼。

28.JPG

輸入完畢之后,將該代碼拖拽給Hierarchy【層次清單欄】中的發(fā)射對象“FirePoint“,然后我們會發(fā)現(xiàn)在屬性面板中的“FirePoint “接口和”Bullet“接口對象為空。所以我們必須得把發(fā)射點(diǎn)對象“FirePoint“和炮彈對象”Shot“拖拽到兩個(gè)對應(yīng)的接口上。如圖12.4 所示:

29.JPG

圖12.4

第六步:添加火花效果。

接下來我們按下測試按鈕 30.JPG 看看效果。大家會發(fā)現(xiàn)朝前發(fā)射的炮彈再碰到山體后,都被彈了起來。所以說此時(shí)我們制作的炮彈還只是一個(gè)球體,并不會爆炸。接下來我們還要繼續(xù)作出炮彈的爆炸效果。

在Project【項(xiàng)目文件欄】的查找框中輸入“Fireworks“關(guān)鍵字,將查找到的 31.JPG 拖拽到場景面板,您會看到一個(gè)動態(tài)的實(shí)時(shí)爆炸火花。如圖12.5所示:

32.JPG

圖12.5

接著確保該對象為選中狀態(tài),到它的屬性面板中調(diào)節(jié)它的各個(gè)屬性值,直到達(dá)到您想要的效果為止。如圖12.6所示:

33.JPG

圖12.6

接下來在菜單欄中點(diǎn)選 34.JPG ——> 35.JPG ——> 36.JPG ,創(chuàng)建一個(gè)預(yù)制類對象,并按下F2鍵將它的名字改為“BoomPrefab”,然后將這個(gè)爆炸火花拖拽到預(yù)制對象中去,并刪除場景面板中的火花。

第七步:為炮彈創(chuàng)建爆炸效果。

添加一段JavaScript代碼,取名叫做“Boom“,這段代碼的主要作用是給炮彈添加一個(gè)碰撞檢測。如果炮彈碰撞到任何物體,就讓炮彈在場景中消失,并在炮彈碰撞消失的地點(diǎn)加載爆炸火花的預(yù)制對象。具體代碼如下:

37.JPG

輸入完畢之后保存該代碼,并把這段代碼拖拽給炮彈預(yù)制對象“Shot“。然后點(diǎn)選預(yù)制對象”Shot“,在它的屬性面板中找到剛才拖拽給它的”Boom “卷展欄,再將爆炸火花預(yù)制對象”BoomPrefab“拖拽給它的接口”BoomFire“。運(yùn)行游戲,看一下效果。如圖12.7所示:

38.JPG

圖12.7

第八步:設(shè)置爆炸效果的消失。

剛才一系列的設(shè)置之后,大家已經(jīng)能夠很明顯的看到爆炸之后的火花效果,但它會一直在那里閃爍,并不會消失。這嚴(yán)重違背了現(xiàn)實(shí)生活的景象,所以我們還得為它加上一段時(shí)間限定消失代碼。

繼續(xù)創(chuàng)建JavaScript代碼,更名為“desBoom“,具體代碼見下:

39.JPG

輸入完畢之后,將這段代碼拖拽給爆炸火花預(yù)制對象“BoomPrefab“。再次運(yùn)行程序,我們會發(fā)現(xiàn)火花在爆炸產(chǎn)生2秒后就自動消失了。

第九步:為爆炸效果添加音效。

完成了畫面效果的制作,我們還需要給游戲添加上非常重要的一個(gè)元素——聲音。其實(shí)這個(gè)過程非常簡單,只需要在網(wǎng)絡(luò)上搜尋一個(gè)您認(rèn)為合適的聲音,并將這段聲 音文件添加入項(xiàng)目文件夾的“Assets“【資源】文件夾內(nèi)。然后在Project【項(xiàng)目文件欄】中,將其拖拽給爆炸火花的預(yù)制對象 “BoomPrefab“,這樣聲音文件就可以和爆炸火花同時(shí)產(chǎn)生了。

如果您覺得聲音需要做適當(dāng)?shù)恼{(diào)節(jié),例如“是否在預(yù)制對象產(chǎn)生時(shí)播放?“,”聲音是否循環(huán)播放“等這些問題。我們都可以在選中預(yù)制對象后,在它的屬性面板中找到聲音的調(diào)節(jié)卷展欄,對它一一進(jìn)行調(diào)節(jié)。

以上就是這款強(qiáng)大的跨平臺3D游戲開發(fā)工具Unity3D的基礎(chǔ)入門教程了。相信大家看過之后多加練習(xí),一定能夠制作出非常優(yōu)秀的3D游戲,也希望本教程能夠幫助大家較快的上手Unity3D,謝謝!

責(zé)任編輯:徐川
相關(guān)推薦

2013-04-25 09:08:39

unity3D手機(jī)游戲引擎

2013-04-25 09:56:24

unity3D手機(jī)游戲引擎

2013-04-25 10:03:07

unity3D手機(jī)游戲引擎

2012-12-24 09:11:58

iOSUnity3D

2013-04-25 13:27:11

unity3D手機(jī)游戲引擎

2013-06-19 08:52:48

Unity3D

2013-04-09 13:42:23

Unity3D基礎(chǔ)知識梳理

2013-06-24 08:48:55

Unity3D

2013-04-25 09:47:54

unity3D手機(jī)游戲引擎

2013-04-25 00:06:06

unity3D手機(jī)游戲引擎

2013-04-25 10:12:02

unity3D手機(jī)游戲引擎

2012-12-24 09:04:04

iOSUnity3D

2013-06-18 08:49:15

2012-12-24 08:46:50

iOSUnity3D

2012-12-24 08:48:25

iOSUnity3D

2013-06-25 09:16:10

Unity3D

2012-12-24 09:20:48

AndoidUnity3D

2013-06-14 09:54:04

Unity3D

2015-03-10 11:21:44

JavaScript組JavaScript

2012-12-24 08:45:19

iOSUnity3D
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號