最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

游戲開發(fā)-如何在 Unity3D 中編寫基于物理的角色控制器

2023-01-05 18:22 作者:游戲開發(fā)云創(chuàng)游  | 我要投稿

角色控制器可以幫助您在游戲中實現(xiàn)簡單的運動物理。

您可以從多個角度接近 Unity3D 角色控制器。如果您使用具有強大類和函數(shù)的庫,創(chuàng)建基于物理的角色控制器可能是開始游戲開發(fā)的一個有趣的地方。

第 1 步:使用玩家和地形對象創(chuàng)建場景

打開 Unity 并創(chuàng)建新項目后,您可以開始向場景添加幾個對象。您可以按照您喜歡的任何順序創(chuàng)建這些對象,但要小心確保使用正確的設(shè)置。雖然這個項目很基礎(chǔ),但它是開始使用 Unity的好方法。

地形的 3D 平面對象

添加到場景中的第一個對象是平面。在層次結(jié)構(gòu)窗格內(nèi)右鍵單擊,將鼠標(biāo)懸停在3D 對象上,然后從列表中選擇平面。您可以調(diào)整平面的大小以提供更大的測試區(qū)域,但您無需對其進行任何其他操作。

立方體對象播放器模型

接下來,是時候在場景中添加一個立方體作為玩家模型了。在層次結(jié)構(gòu)窗格內(nèi)右鍵單擊,將鼠標(biāo)懸停在3D Object上,然后從下拉菜單中選擇Cube 。放置新立方體,使其位于您還添加的平面上方。您還需要添加一個剛體組件,使立方體成為一個物理對象。

選擇立方體并轉(zhuǎn)到檢查器。單擊窗格底部的添加組件,搜索剛體,并在出現(xiàn)時從列表中選擇剛體。勾選使用重力復(fù)選框并保留其余設(shè)置不變。

您可以在線找到免費的 Unity 資產(chǎn)來美化您的項目。

第三人稱相機

您的場景應(yīng)該已經(jīng)有一個可以用作第三人稱相機的相機。將相機放置在立方體上方舒適的第三人稱位置。在將相機拖放到立方體上以創(chuàng)建父子關(guān)系之前,請轉(zhuǎn)到層次結(jié)構(gòu)窗格。完成此操作后,相機將自動跟隨您的立方體。

快速測試

雖然您的場景還沒有任何代碼,但您可以測試到目前為止所做的工作。單擊屏幕頂部的“播放”按鈕以加載您的游戲。您應(yīng)該看到立方體下落并落在平面的頂部,并且相機應(yīng)該跟隨立方體下落。

第 2 步:設(shè)置 C# 文件

現(xiàn)在是創(chuàng)建 C# 文件的時候了,這樣您就可以開始編寫一些動作了。轉(zhuǎn)到“項目”部分,右鍵單擊,將鼠標(biāo)懸停在“創(chuàng)建”上,然后從列表中選擇“文件夾”。將文件夾命名為 Scripts 或類似名稱。

在新文件夾中導(dǎo)航并重復(fù)該過程,但從列表中選擇 C# 腳本。您可以為該文件指定任何名稱,但這也將是其中的主要函數(shù)的名稱。確保你的新 C# 看起來像這樣。

第 3 步:使用 C# 創(chuàng)建具有速度的前進和后退運動

在腳本文件中添加函數(shù)之前,聲明一些公共變量。首先是一個用于存儲玩家模型的剛體。同時聲明一個浮點數(shù)來跟蹤移動速度。這些變量在主類中,在任何函數(shù)之外。

現(xiàn)在您可以添加一些代碼來讓您的播放器模型移動。這段代碼很好,也很簡單;您只需要兩個 if 語句,一個用于向前移動,一個用于向后移動。您可以使用 Input.GetKey 確定何時按下某個鍵。在這種情況下,您正在尋找 W 和 S 鍵的按下。

按下這些鍵中的任何一個都會使用 rigidbody.AddForce 向立方體剛體添加一個力。您可以通過將其 Z 軸位置 (transform.forward) 乘以速度變量來計算所加力的方向和速度。沒有可用于向后運動的 transform.backward 類,但這可以通過將 transform.forward 乘以 -1 來實現(xiàn)。

保存 C# 文件并導(dǎo)航回 Unity。在“項目”窗格中找到腳本并將其拖放到層次結(jié)構(gòu)中的角色模型立方體上,以將腳本分配給該對象。當(dāng)您選擇 Cube 時,您應(yīng)該會在 Inspector 窗格中看到該腳本作為一個組件。在剛體變量框內(nèi)單擊并選擇立方體的剛體。

您現(xiàn)在可以使用 Play 按鈕啟動游戲并測試您的代碼??墒堑鹊?!有問題;您的立方體將滾動而不是直線向前移動。返回立方體的檢查器,找到 Rigidbody 組件,并勾選方框以在再次啟動游戲之前凍結(jié) X 軸和 Z 軸上的旋轉(zhuǎn)?,F(xiàn)在它應(yīng)該工作了。

第 4 步:使用 C# 創(chuàng)建帶扭矩的左轉(zhuǎn)和右轉(zhuǎn)

與前后移動不同,轉(zhuǎn)動 Cube 播放器模型需要一種稱為扭矩的力。為此,您需要另一個變量:一個用于分配扭矩值的公共浮點數(shù)。

在此腳本中向左和向右轉(zhuǎn)的代碼與用于向前和向后移動的代碼也非常相似。每個方向都有一個if語句,用于查找按下 D 鍵(右轉(zhuǎn))或 A 鍵(左轉(zhuǎn))。

每個 if 語句的第一步是使用 Input.GetAxis 方法確定轉(zhuǎn)彎方向并將結(jié)果分配給浮點變量。在此之后,使用 rigidbody.AddTorque 通過乘以立方體的扭矩、轉(zhuǎn)動和 Z 軸,將旋轉(zhuǎn)力應(yīng)用于立方體角色模型。

第五步:使用C#編程跳轉(zhuǎn)

作為這個 Unity 角色控制器的最后一個元素,是時候創(chuàng)建你的跳躍了??紤]到跳躍必須具有有限的高度,因此創(chuàng)建跳躍比您使用過的其他基本控件更復(fù)雜。首先添加一個私有布爾變量來跟蹤玩家是否在跳躍。

第 6 步:測試您的角色控制器代碼

保存您的文件并返回 Unity 以測試您編寫的代碼。與大多數(shù)編譯器一樣,Unity 會提供有關(guān)代碼錯誤和其他問題的信息,以便更輕松地查看您可能需要更改的內(nèi)容。您可以在我們的GitHub頁面上查看此項目的完整代碼。

創(chuàng)建 Unity 角色控制器

在 Unity 中創(chuàng)建角色控制器時,您可以選擇多種不同的方法。使用物理學(xué)是一種選擇,但如果需要,您也可以使用內(nèi)置的角色控制器系統(tǒng)。

像這樣探索不同的選項是了解 Unity 等工具的好方法。






游戲開發(fā)-如何在 Unity3D 中編寫基于物理的角色控制器的評論 (共 條)

分享到微博請遵守國家法律
喀喇沁旗| 拉萨市| 鹤峰县| 馆陶县| 福清市| 香格里拉县| 娱乐| 福海县| 新建县| 文昌市| 武安市| 衡东县| 宜川县| 香港| 福建省| 秦皇岛市| 正定县| 冕宁县| 深水埗区| 温泉县| 扎鲁特旗| 尼玛县| 昂仁县| 麻阳| 印江| 延边| 保康县| 兴宁市| 揭西县| 资兴市| 清新县| 石门县| 弋阳县| 新巴尔虎左旗| 慈利县| 合江县| 兖州市| 五峰| 同心县| 东莞市| 惠东县|