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

UEDay05视频补充

2023-07-04 10:10 作者:大家一起说嘤语  | 我要投稿

一、鼠标的显示和隐藏


操作映射有press和release
获取玩家控制器


二、Tick事件:可以用来进行游戏时长的计数

  1. 添加一个tick事件的节点和一个用于计数的浮点型变量LifeSecond

  2. Tick事件在每一帧渲染时会不停的输出值,这里将tick输出的值给变量LifeSecond,然后在设置一个加法运算使得新输出的tick值与变量LifeSecond的值相加,最后赋给LifeSecond。

加了一个输出文本,示例如左侧蓝字

三、缩放视角:调整的是人物背后摄像机到人物的距离,所以是调整CameraBoom

  1. 新建一个鼠标滚轮轴事件,右键wheel里有

  2. 可以用print去查看一下它的输出值,能够看出他是不停地输出1,0和-1这三个值,对应鼠标滚轮的前滚动,停止滚动以及向后滚动。

  3. 因为要控制的是CameraBoom的长度,所以先把它拖下来并添加“获取目标臂长度”和“设置目标臂长度”这两个件节点

4.让“鼠标滚轮轴”节点输出的值加上目标臂当前的长度再赋予给目标臂即可,但是这里有个两个问题:

①第一个,“鼠标滚轮轴”事件输出的值过小

②第二个,不能无止尽的进行缩放操作

解决方法:

①加个乘法计算即可,让“鼠标滚轮轴”节点输出的值乘一个固定的值。

②加一个限制浮点值的节点,让最终输出的浮点值只能在一个范围内进行变化

5.在解决完对应的问题后发现缩放方向与鼠标滚轮轴方向相反,所以这里将乘法计算中的正数变成了负数,最终蓝图如下。

四、技能超级跳

  1. 实现的效果:按下按键→释放技能→技能进入CD

  2. 实现的原理:按下按键→人物跳跃速度改变→人物完成跳跃动作→人物跳跃速度重置为原来的值→技能进入CD

  3. 实现步骤

    ①按键利用操作映射即可

        ②设置人物跳跃速度是人物蓝图中CharMoveComp的参数,因为这里不需要获取跳跃速度的值只需要进行设置即可,所以这里把它拖下来并添加一个“设置跳跃速度”的节点。

        ③对当前节点进行连接,初步完成超级跳技能,按下按键释放技能,松开按键不再释放并且重置人物跳跃速度。

        ④接下来加入技能CD,目前的情况是只要按键就会不停的释放,所以加一个“do once”节点来让技能只能释放一次。

        ⑤但是添加“do once”节点后该技能整局游戏只能够释放一次(以后可以做一次性道具),所以需要对“do once”节点的Reset引脚做工作达到技能冷却的效果,这里添加一个自定义事件,把事件名称命名为“SuperJump Reset”。

        ⑥技能冷却应该在技能释放后进行倒计时再重置技能的使用,所以这里可以在完成跳跃动作后添加一个“延迟”节点然后触发“do once”的Reset。


        ⑦给该技能添加对应的特效,声音以及冷却完毕提醒。

五、漂浮物体拾取及二段跳

  1. 实现效果:人物触碰到道具,道具消失并给予玩家二段跳的能力

  2. 实现原理:利用触发器中的“模型开始重叠”事件完成道具的消失以及人物二段跳能力的设置。

  3. 实现步骤:

    ①先创建一个二段跳蓝图(Actor类)并在其中加入静态网格体和对应的触发器,这里的静态网格体是为了让道具具备真实的几何体形状,便于放置和观察。

        ②添加对应的节点,并完成拾取时人物属性设置、拾取时特效以及拾取后销毁道具的设置。

        ③道具的漂浮可以理解为不停地改变道具位置属性中的z值,这里用时间轴来实现随着事件变化物体的z值不停地改变,输入timeline并选中“添加时间轴”。

        ④双击时间轴节点,新建一个输出浮点型数据的轨道,并设置好关键帧(时间和输出浮点值的对应)。下面的三个按钮很关键(从右往左介绍,方便自己理解),最右边是循环,中间的是自动播放,最左边的是让其在循环时首尾相连,使用最后一帧进行循环。

        ⑤因为时间轴只输出了0-1的数值,这个数值用来改变物体z值的变化太小了,不易于观察到。所以这里利用“插值(向量)”这个节点。这个节点可以使得0对应一个A值,1对应一个B值,并且将会在AB值之间按照一定的比例进行插值,这种插值生成的新向量沿着两个向量之间的直线进行过渡。一般可以用来平滑移动物体的位置。

可以使得0和1分别对应不同的z值

        ⑥最后将“插值(向量)”这个节点的值发送给静态网格体的相对位置即可。


六、萤火技能

  1. 实现效果:按下技能按键→人物抬手并在对应手处释放可照亮空间的萤火(球形)

  2. 实现原理:按下技能按键→人物抬手→释放粒子

  3. 实现步骤:

    ①人物的抬手:双击人物的骨骼网格体,选定人物的抬手动画并重命名

        ②准备粒子,创建可以发射一堆粒子的发射器。因为存在重力导致粒子会下坠,为了让技能特效为球形这里删掉重力。加入光线渲染器使得粒子可以照亮周围的环境。

        ③这里我把技能设定为在非跳跃状态下可释放,做一下对应的状态切换,设定完成后会出现对应的规则。  这里也需要对“FireFlies”这个状态进行编辑,使得这个状态播放刚才选择的抬手动画,双击进入编辑,连接对应动画即可。

        ④这里对规则进行编辑,需要增加一个布尔值使得人物如果处于技能释放状态则进入“FireFlies”状态,如果不处于则从“FireFlies”状态回到对应的待机或运动状态。


        ⑤进入人物蓝图进行编辑,因为这里需要调用在骨骼体动画蓝图的布尔值,所以我们这里先把骨骼体的动画蓝图保存为一个变量,以便安全和方便的访问其中的函数和特定属性。(左侧连接的是“事件开始节点”)

        ⑥首先,按下按键后调用并设置KLL变量中的布尔值为真,使得人物进入FireFlies状态释放抬手动画。其次,加入延迟(因为实在是太快了)、粒子特效和声音,这里的粒子特效应该附加在网格体的右手上,所以此时从从component连接的是网格体,attach to point name里填的是右手(这里可以从骨骼体里去找)。最后,调用并设置KLL变量中的布尔值为假,使得人物可以从FireFlies状态回到待机或运动状态。



UEDay05视频补充的评论 (共 条)

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