欢迎光临散文网 会员登陆 & 注册

07_P61~P73ThePawnClass

2023-03-22 10:03 作者:俯瞰万千风景  | 我要投稿

61 Pawn Creation

 Creating a Pawn Class

 pawn 单位

 创建一个pawn的c++类,并且创建基于这个pawn的蓝图

62  在创建的pawn蓝图中,使用C++创建一个胶囊体Capsule

 在https://docs.unrealengine.com/5.1 中查看对应方法的类

 

63 Forward Declaration前置声明

 only including what you need

 

 

64 Skeletal Mesh Component骨骼网格组件

Meshes That Have Skeletions

USkeletalMesh

USkeletalMeshComponent

与创建根组件相同

需要使用到USkeletalMeshComponent 类

首先声明一个USkeletalMeshComponent的指针

然后使用CreateDefaultSubobject 创建带SkeletalMeshComponent

最后使用SetupAttachment 将其与Capsule 也就是RootComponent关联上



在UE中,打开panw蓝图,设置brid的动画

然后设置动画

最后将pawn蓝图 放置在场景中, 运行就可以的到一个有动画的brid


65 Binding Inputs绑定输入

Assigning Axis Mappings

在虚幻中,游戏会为我们(Player)分配一个控制器(Acontroller)

用这个控制器,游戏可以知道“这个”是我们

游戏控制器可以控制pawn

我们如果需要控制鸟的话,则需要让控制器possess拥有鸟

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

我们一旦possess了鸟,则鸟可以从我们设置的控制器那里获取我们的输入

首先需要编辑控制器

进入菜单“编辑” -> “项目设置”-> “引擎” -> “输入”

找到“轴映射”

添加W的按键映射

如果是已经导入了自带的第三人称模版 则有下面这些内容:

使用代码 设置默认玩家player0

 

 然后我们在方法中 将设置的W映射名称与对应的函数方法 绑定起来 如下


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

 执行后发现,当我们不按W的时候,输入为0,按下W后 ,输入为1,符合预期

66 Adding Movement Input添加输入事件

Moving Our Brid

使用AddMovementinput方法来触发移动

//还用了AddActorWorldOffset来实现移动

需要先判断Controller不为空,并且传入的value不为0

使用AddMovementinput ,需要在蓝图中添加FloatingPawnMovement的组件,来“识别”按键传入的值,并且使用FloatingPawnMovement组件,可以实现更丰富的移动效果

如果只是使用AddActorWorldOffset来进行移动,则更复杂的移动方式(比如加速度)则需要自己实现

67 Camera and Spring Arm相机和弹簧臂

Adding Camera and Spring Arm Components

在蓝图中添加摄像机和弹簧臂组件

 C++里面创建弹簧臂组件和摄像机组件


在构造函数中初始化(绑定)弹簧臂和摄像机组件


68 Controller Input控制器的输入

Adding Rotation to the Controller

 

//X轴 围绕X轴旋转 &ACharacter::AddControllerRollInput

//Y轴 围绕Y轴旋转 &ACharacter::AddControllerPitchInput

//Z轴 围绕Z轴旋转 &ACharacter::AddControllerYawInput

 

使用蓝图实现左右 和上下旋转

首先在项目设置 输入中 添加鼠标的X轴 和Y轴

然后在pawn蓝图中,添加如下事件

其中,输入轴turn LookUp 是在上图中的设置名字

 

 在C++中实现相同的功能

最后编译 就可以实现效果

在调试过程中 ,我们会发现一个圆球,这个是游戏模式自带的pawn:DefaultPawn

 

 因为我们当前没有创建单独的游戏模式,当前使用的是系统自带的基本模式

这个圆球是自带的,所以会出现

 

69 Setting the Default Pawn设置默认pawn

Setting the default pawn for the level

创建一个蓝图类,选择游戏模式基础


 打开蓝图,修改默认pawn为我们创建的pawn

70 小结

07_P61~P73ThePawnClass的评论 (共 条)

分享到微博请遵守国家法律