介绍
这个文章会带大家用虚幻引擎粗略的实现原()神中的一些功能,当然啦不是做一个完整的原神出来,主要面向对象为没有编程基础或者刚刚入门的同学
前言
好像对于大部分0基础的同学来说虚幻引擎的学习比较抽象(做游戏本身就挺抽象的,没有狠活挣不出来qwq)。比如虚幻的界面,数百个接口,而且有些不当的操作会导致界面发生变动,对于萌新来说都不知道去哪找功能了,所以这篇文章在于带领没有基础的同学从实操的角度一点一点理解引擎,毕竟能自己做一个游戏还是比较有成就感的,也有学习下去的动力。
增强输入系统
这篇文中浓度有点低,大多数都是芝士干货。
在我们之前写的蓝图中,响应事件大部分都是在蓝图中搜索按键事件然后写上去的,比如前两章写的传送和切换人物,这种写法其实在虚幻4里很受欢迎,但看起来很松散,不成一个体系,于是在虚幻5引擎当中,引入了增强输入系统。
按照如下目录找到input(输入)
在这个文件夹里可以看到一个action文件夹和一个数据资产(映射到上下文)。继续点开action文件夹,可以看到好多数据资产(输入操作)。
这些输入操作就是增强系统中你可以创建的功能,这些功能创建完后,导入到(映射到上下文)就可以形成一个完整的增强输入系统了,那么现在我们来创建一个输入操作。
在文件中右键点击空白处,依次选择输入->输入操作,点击创建,命名为IA_Sprint(疾跑)。
然后返回上一级文件夹(input),找到映射到上下文,点进上下文,你就可以看到所有游戏内可操控的操作了。
点击映射旁的+号,创建一个新的映射。
然后选择刚刚创建的输入操作
这样你就可以将刚才写的IA_Sprint输入操作绑定到增强输入系统了。
别忘了给输入操作绑定一个按键,这样才能触发他
好的,接下来我们来到人物的蓝图中开始写逻辑。
在蓝图中输入IA_Sprint就可以看到我们绑定的输入操作了,点击它,他就会作为一个事件被创建出来。
那这个时候。该如何写奔跑的逻辑呢。
角色移动组件
接下来介绍下组件,组件就是在蓝图内部已经封装好的一种库(先这么理解),就像c++中的include,python中的import。
角色移动组件自然就是一个控制角色移动逻辑的组件了,一般创建的用于游玩游戏的蓝图类(Character)都会自带角色移动组件,在这个组件里,定义了角色移动的某些变量(速度,加速度,最大速度,游泳飞行之类的),角色的物理交互(摩擦,碰撞等)。那么我们通过控制角色的移动速度这个变量就可以使角色进入到奔跑状态了。
在人物蓝图中的视口里就可以查看到了。
角色移动组件具体包装好的设置都在右半边的细节中
点开蓝图,输入Set Max Walk Speed ,点击引入到蓝图界面。并且和刚才的增强输入系统链接。
再将左上角的角色移动组件拖进来,实体化它,把它连到traget(目标)
这一步是告诉编译器设置的是角色移动组件的速度。然后记得将最大行走速度的值设置好,我们就设置800吧。
ok了,接下来在游戏中按下shift角色就会以800的速度奔跑了,但好像停不下来(),因为按完shift角色的奔跑速度就被永远的固定在800了,现在完善下逻辑。
点击事件下的小箭头,拉出更多引脚,选择completed(事件结束后触发),然后再链接一个Set Max Walk Speed。我们把它的速度设为400。
然后就ok了,别忘了点击左上角的编译。
进游戏里来试试
下节课会讲如何将原神的建模和人物迁移到自己的游戏中来提高浓度