Unreal Eangie 5:蓝图编程

实现玩家移动功能

首先打开内容侧滑菜单

右键打开后新建名为charrater(可以自定档案名)的档案

先点击运行,我们发现我们什么都没做人物就可以跑动,这是因为项目模板中人物角色有默认的移动模板,今天我要自己来实现移动功能

首先要把默认的移动模板关掉,先打开世界场景设置,之后就会添加到界面中

如果没有点击窗口->世界场景设置

打开后将"游戏模式重载"选择为"none"

如果还能移动,我们先打开编辑->项目设置->游戏与模式->默认游戏模式,游戏1模式此时被设置为"FirstPersonGameMode"

找到之后我们先关闭,打开内容侧滑菜单->点击添加->创建蓝图类->点击游戏模式基础

将其命名为BP_GameMode

双击打开

找到默认pawn类

此时需要创建一个新角色,和上述步骤一样不过需要选择"角色",命名为"BP_Character"

此时我们回到GameMode,我们将默认pawn类设置为我们刚才创建的角色

PS:记得选完后要编译和保存

此时我们打开刚创建好的角色,胶囊状的是人物的碰撞体积

之后需要将游戏模式和场景进行关联,打开编辑->项目设置->默认游戏模式->将其改成创建好的模式

设置完后我们发现按任何按键都没有反应,这代表设置成功,接下来要开始配置按键

这里我们会使用到增强输入,我们打开项目设置并找到输入

我们会看到现在映射输入已经被废弃,因此我们需要使用增强输入

我们打开内容侧滑菜单,找到code文件夹并增文件夹,命名为input

进入文件夹后我们点击添加->找到输入->点击输入操作,将其命名为"IA_Move2",为什么要命名为IA_Move2,因为默认的输入操作名就是IA_Move,为了区分因此命名为IA_Move2

之后我们打开它,我们看到默认的值类型为"布尔"

我们将它改成vactor 2D

改完后在创建一个输入映射情景,并命名为"IMC_input"

打开后开始设定键位,点击映射->找到Mapping Profile Overrides点击添加元素

展开后会有再进行展开会看到Mapping,点击添加并选择刚创建好的文件,这里要添加四个键位

之后开始设定WSAD四个键位,要怎么设定呢?

点击旁边键盘图型按键,之后按下键盘上的按键就会是下方图片的效果

依次把它们设定好

接下来就是对各个按键进行设定,在设定之前先提个概念

我们在初中数学学过坐标系移动时是一个平面,前进就是正数,后退就是负数,左是负数,右是正数

接下来开始进行按键设置

将S部分展开->添加修改器->索引选择否定

A部分要选择拌合输入轴值,因为是往左走,对照坐标系是负数,因此要再选择否定

D部分选择拌合输入轴值

我们目前只是配置好了按键之后回到"BP_Character"

首先我们点击右键输入"Get player controller"找到"获取玩家控制器这个函数"

接下来将获取玩家控制器那栏拉一条线出来点击右键,输入关键字"enhan",我们可以在"本地玩家子系统"那栏找到

这是输入后的效果

将增强输入本地玩家子系统的节点拖出来,输入关键字"add mapping",在输入那栏就会出现"添加映射上下文"

之后把他和事件开始运行连在一起

还需要在Mapping context那选择IMC_input

接下来开始写他们相关的逻辑

点击右键,输入"IA Move"找到强化操作事件,点击"IA_Move2"

之后将其展开,找到"Action Vaule",找到节点长按拉出一条线,之后输入关键字"break",会出现拆分向量2D

接下来点击右键,输入"ADD input"点击添加移动输入

将它和triggered进行链接

接下来点击右键,输入"get actor forward",点击取得actor向前向量并将其连上"World Direction"并将"scale value"和拆分向量2D的"x"节点连起来

接下来点击右键输入"add move input",选择"添加移动输入"

选择移动输入后将它和另一个移动输入进行链接

点击右键输入"get actor right"点击"获取Actor的向右向量"并将其链接至"World Direction"并将"scale value"和拆分向量2D的"Y"连起来

这样就完成了玩家移动功能了

实现玩家视角移动功能

先创建档案IA_Look2

打开档案后找到"恒类型",选择vector2D(视角旋转和移动一样都是坐标系)

来到BP_Character,点击右键输入创建好的档案

找到Triggered,点击节点拖出并输入"add yaw"

之后点击右键输入"add pitch"

之后将"yaw"和"pitch"连在一起

之后找到"Action Value"长按节点拖出,此时在绘制那栏选择"拆分向量2D",并将其"X"连到"yam",将"Y"连到"pitch"

点击运行之后会发现Y轴的方向是相反的,我们可以先将"拆分向量2D"的"Y"和"pitch"断开,点击右键输入" * "之后会出现一个"乘"的函数

之后将其连接,还需要将在该函数的输入框中输入-1

还有一种方法,打开IMC_input,在IA_Look2添加修改器,索引选择否定将X轴和Z轴取消勾选

补充

我们可以按住左键批量选取函数并按C,这个叫注释

相关推荐
AI科技星2 小时前
基于v≡c第一性原理:密度的本质与时空动力学
人工智能·学习·算法·机器学习·数据挖掘
Orange_sparkle2 小时前
learn claude code学习记录-S01
学习·claude code
想你依然心痛2 小时前
HarmonyOS 5.0教育科技开发实战:构建AI个性化学习与分布式协同教育系统
人工智能·学习·harmonyos
添尹2 小时前
Go语言基础之指针
开发语言·后端·golang
2401_827499992 小时前
python项目实战10-网络机器人01
开发语言·python
哆啦阿梦2 小时前
Java AI 应用工程师 - 完整技能清单
java·开发语言·人工智能
VT LI2 小时前
Lua 源码执行流程全解析:词法分析、语法分析、字节码生成、虚拟机执行与垃圾回收
java·开发语言·lua
凤山老林4 小时前
04-Java JDK, JRE和JVM
java·开发语言·jvm
小成2023032026510 小时前
Linux高级02
linux·开发语言