日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Unity蛮牛教程噩梦射手----代码讲解(1)

發(fā)布時(shí)間:2023/12/10 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity蛮牛教程噩梦射手----代码讲解(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?????? 很久沒(méi)有寫(xiě)博客了,因?yàn)樽罱_(kāi)始學(xué)習(xí)Unity。在蠻牛教育網(wǎng)上有一套講解Unity官方教程的視頻-------噩夢(mèng)射手游戲?qū)嵗?#xff0c;網(wǎng)站為http://www.unitytrain.cn/course/40,是Logic3d老師講解的。游戲本身并不是很復(fù)雜,跟著視頻來(lái)學(xué)習(xí)的話困難不打。然而作為程序員來(lái)學(xué)習(xí)這一套視頻,更加關(guān)注的是這個(gè)游戲的腳本部分。也看到有評(píng)論說(shuō)對(duì)代碼部分老師講解并不是很深入,所以我打算開(kāi)這樣一個(gè)新坑--------對(duì)該套視頻部分的腳本代碼進(jìn)行講解。好,那廢話不多說(shuō),我們進(jìn)入正題。

?

?????? 視頻第一課出現(xiàn)的是游戲主角Player的移動(dòng)腳本,我先上代碼

?

??????代碼開(kāi)頭定義的變量我們先跳開(kāi),來(lái)關(guān)注特殊的函數(shù)

? FixedUpdate()函數(shù)

?所以我們?cè)谶@個(gè)函數(shù)里面加入我們對(duì)鍵盤(pán)移動(dòng)輸入信號(hào)的響應(yīng)事件。??通過(guò)GetAxisRaw()來(lái)獲取到當(dāng)前用戶(hù)的輸入,在通過(guò)Move(),Turning(),Animating()函數(shù)來(lái)逐個(gè)改變Player的位置Position,旋轉(zhuǎn),動(dòng)畫(huà)狀態(tài)Animation。我們來(lái)一一解釋。

?

Move()函數(shù):

直接使用Vector3 movement來(lái)記錄當(dāng)前的水平垂直方向的位移值,乘上速度和單位時(shí)間,最后賦予Player新的Position實(shí)現(xiàn)位置移動(dòng)。這段代碼不難理解。

注意:這里使用剛體RigidBody來(lái)實(shí)現(xiàn)位置的轉(zhuǎn)變。直接使用transfrom.position也是可以的。

?

Turning()函數(shù):

這里涉及到通過(guò)光線投影來(lái)記錄當(dāng)前鼠標(biāo)方向,來(lái)實(shí)現(xiàn)player視角的旋轉(zhuǎn)的方法。

首先是

?我們將使用它來(lái)記錄我們鼠標(biāo)和Floor的碰撞,來(lái)獲取我們需要的視角,實(shí)現(xiàn)旋轉(zhuǎn)。這里我們需要使用到point屬性。我們下面會(huì)講到。

?

其次

這是光線投影碰撞的核心函數(shù)。四個(gè)參數(shù)中,后兩個(gè)我們?cè)谶@個(gè)腳本的開(kāi)頭定義一個(gè)定義好了。包括射線長(zhǎng)度我們定位100,還有碰撞的層蒙版設(shè)為Floor。而前兩個(gè)參數(shù)則是我們射線的起點(diǎn)和方向。該函數(shù)返回值為true則光線投影反生了碰撞,反之沒(méi)有。

如果有碰撞發(fā)生,我們需要計(jì)算出新的旋轉(zhuǎn)方向,并且使用這個(gè)方向來(lái)實(shí)現(xiàn)player視角的變化。這里使用Quaternion四元數(shù)來(lái)實(shí)現(xiàn)旋轉(zhuǎn)。

?

最后Animating()函數(shù)

我們檢測(cè)當(dāng)前的水平,垂直速度是否為0,否則就是移動(dòng),我們就把角色的狀態(tài)機(jī)的參數(shù)進(jìn)行改變,實(shí)現(xiàn)動(dòng)畫(huà)效果。

?

?

------player的運(yùn)動(dòng)腳本基本就這些內(nèi)容了,其他的在蠻牛的課程中也有講解。如果你是直接看這篇博客可能不知所云,請(qǐng)見(jiàn)諒。

總結(jié)

以上是生活随笔為你收集整理的Unity蛮牛教程噩梦射手----代码讲解(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。