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

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

07_P61~P73ThePawnClass

2023-03-22 10:03 作者:俯瞰萬千風(fēng)景  | 我要投稿

61 Pawn Creation

?Creating a Pawn Class

?pawn 單位

?創(chuàng)建一個(gè)pawn的c++類,并且創(chuàng)建基于這個(gè)pawn的藍(lán)圖

62? 在創(chuàng)建的pawn藍(lán)圖中,使用C++創(chuàng)建一個(gè)膠囊體Capsule

?在https://docs.unrealengine.com/5.1 中查看對(duì)應(yīng)方法的類

?

63 Forward Declaration前置聲明

?only including what you need

?

?

64 Skeletal Mesh Component骨骼網(wǎng)格組件

Meshes That Have Skeletions

USkeletalMesh

USkeletalMeshComponent

與創(chuàng)建根組件相同

需要使用到USkeletalMeshComponent 類

首先聲明一個(gè)USkeletalMeshComponent的指針

然后使用CreateDefaultSubobject 創(chuàng)建帶SkeletalMeshComponent

最后使用SetupAttachment 將其與Capsule 也就是RootComponent關(guān)聯(lián)上



在UE中,打開panw藍(lán)圖,設(shè)置brid的動(dòng)畫

然后設(shè)置動(dòng)畫

最后將pawn藍(lán)圖 放置在場(chǎng)景中, 運(yùn)行就可以的到一個(gè)有動(dòng)畫的brid


65 Binding Inputs綁定輸入

Assigning Axis Mappings

在虛幻中,游戲會(huì)為我們(Player)分配一個(gè)控制器(Acontroller)

用這個(gè)控制器,游戲可以知道“這個(gè)”是我們

游戲控制器可以控制pawn

我們?nèi)绻枰刂气B的話,則需要讓控制器possess擁有鳥

注意 pawn可以被possess擁有,但是actor不可以

我們一旦possess了鳥,則鳥可以從我們?cè)O(shè)置的控制器那里獲取我們的輸入

首先需要編輯控制器

進(jìn)入菜單“編輯” -> “項(xiàng)目設(shè)置”-> “引擎” -> “輸入”

找到“軸映射”

添加W的按鍵映射

如果是已經(jīng)導(dǎo)入了自帶的第三人稱模版 則有下面這些內(nèi)容:

使用代碼 設(shè)置默認(rèn)玩家player0

?

?然后我們?cè)诜椒ㄖ?將設(shè)置的W映射名稱與對(duì)應(yīng)的函數(shù)方法 綁定起來 如下


并且在MoveForward()方法中,打印傳入的value的值

?執(zhí)行后發(fā)現(xiàn),當(dāng)我們不按W的時(shí)候,輸入為0,按下W后 ,輸入為1,符合預(yù)期

66 Adding Movement Input添加輸入事件

Moving Our Brid

使用AddMovementinput方法來觸發(fā)移動(dòng)

//還用了AddActorWorldOffset來實(shí)現(xiàn)移動(dòng)

需要先判斷Controller不為空,并且傳入的value不為0

使用AddMovementinput ,需要在藍(lán)圖中添加FloatingPawnMovement的組件,來“識(shí)別”按鍵傳入的值,并且使用FloatingPawnMovement組件,可以實(shí)現(xiàn)更豐富的移動(dòng)效果

如果只是使用AddActorWorldOffset來進(jìn)行移動(dòng),則更復(fù)雜的移動(dòng)方式(比如加速度)則需要自己實(shí)現(xiàn)

67 Camera and Spring Arm相機(jī)和彈簧臂

Adding Camera and Spring Arm Components

在藍(lán)圖中添加攝像機(jī)和彈簧臂組件

?C++里面創(chuàng)建彈簧臂組件和攝像機(jī)組件


在構(gòu)造函數(shù)中初始化(綁定)彈簧臂和攝像機(jī)組件


68 Controller Input控制器的輸入

Adding Rotation to the Controller

?

//X軸 圍繞X軸旋轉(zhuǎn) &ACharacter::AddControllerRollInput

//Y軸 圍繞Y軸旋轉(zhuǎn) &ACharacter::AddControllerPitchInput

//Z軸 圍繞Z軸旋轉(zhuǎn) &ACharacter::AddControllerYawInput

?

使用藍(lán)圖實(shí)現(xiàn)左右 和上下旋轉(zhuǎn)

首先在項(xiàng)目設(shè)置 輸入中 添加鼠標(biāo)的X軸 和Y軸

然后在pawn藍(lán)圖中,添加如下事件

其中,輸入軸turn LookUp 是在上圖中的設(shè)置名字

?

?在C++中實(shí)現(xiàn)相同的功能

最后編譯 就可以實(shí)現(xiàn)效果

在調(diào)試過程中 ,我們會(huì)發(fā)現(xiàn)一個(gè)圓球,這個(gè)是游戲模式自帶的pawn:DefaultPawn

?

?因?yàn)槲覀儺?dāng)前沒有創(chuàng)建單獨(dú)的游戲模式,當(dāng)前使用的是系統(tǒng)自帶的基本模式

這個(gè)圓球是自帶的,所以會(huì)出現(xiàn)

?

69 Setting the Default Pawn設(shè)置默認(rèn)pawn

Setting the default pawn for the level

創(chuàng)建一個(gè)藍(lán)圖類,選擇游戲模式基礎(chǔ)


?打開藍(lán)圖,修改默認(rèn)pawn為我們創(chuàng)建的pawn

70 小結(jié)

07_P61~P73ThePawnClass的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
旌德县| 克什克腾旗| 武邑县| 平定县| 罗田县| 聂拉木县| 重庆市| 镇沅| 曲阳县| 松原市| 浙江省| 山东| 门头沟区| 兴隆县| 汪清县| 蒲城县| 丹江口市| 鄂州市| 新蔡县| 凌源市| 诸暨市| 镇安县| 兰考县| 普陀区| 萨迦县| 富裕县| 安西县| 合山市| 阜南县| 疏勒县| 砀山县| 浦东新区| 陆川县| 泰宁县| 姚安县| 九台市| 抚顺市| 贵南县| 邢台市| 钟祥市| 兴化市|