Hello . 大家好,今天是上一个小球Unreal的blueprint案例教程之金属球作用效果一的进阶版,下面继续分享Unreal的blueprint案例教程之金属球作用效果二。
在上一期,我们简单给小球加了一个bp(blueprint)unreal BluePrint | 做个ball,让球可以在最开始受到一个向左(y轴负方向)的力,如图

如果我们往小球飞行的方向放上一些障碍物,球就会跟障碍物产生碰撞,进而改变运动轨迹

现在我们给这个小球添加一些逻辑,让小球先下落到平面上,然后接触障碍物并产生stick
下面开始具体操作步骤
1、添加LineTraceByChannel
这个节点主要是沿给定的线执行碰撞追踪并返回追踪中的首个物体。就是在运动的过程中,对小球的碰撞进行追踪,并返回过程中碰撞的首个物体。
我们打开上次添加的bp,右键搜索linetrace


Start和End表示的是一个坐标区间,Return Value就是返回这个区间的内碰撞到的第一个物体。而我们的Start坐标就是actor小球的坐标,所以给start输入GetActorLocation节点。而End的位置就只需要在start的各个轴上减去一个数值即可表示在这个方向上的空间范围。因为unreal中z轴代表上下,所以我们用subtract在z轴上减去500.

选择Draw Debug Type为Persistent,然后就会对每一帧都有Debug处理。

点击Compile,编译bp,然后进入到场景中播放。

会看到小球在运动过程中,运动过的地方会产生红色线条,这是因为他的运动轨迹被LineTraceByChannel的Debug画下来了
2、Break Hit Result
这个节点可以访问所有种类的hit信息及其自身信息,所以我们用这个节点来获取一些hit得到的信息(注意与其连接的是LineTraceByChannel的Out Hit输出)

3、Add Impulse
再次添加节点add impulse,用于添加小球在遇到碰撞以后的运动状态。选中之前的节点,然后在空白处按ctrl + w,就可以将选中的节点进行复制粘贴。
将LineTraceByChannel的输出作为Impulse的输入,Target依然是那个小球。

从本质上讲,impact normal是line trace在世界空间中的方向,所以给impact normal乘上一个-1,表示碰撞以后法线方向改变,运动方向改变。
我们为方便修改给新加一个变量TableStickyness,并且修改类型为float。


点击compile后,给TableStickyness设置一个初始值为5000. 然后将他拉到bp中,获取数值,GetTableStickyness. 然后跟之前的Default Speed一样,将Event Tick和TableStickyness相乘

双击引线可添加一个点,拖动可改变引线走向,也可添加注释,方便各节点流向查看

将上面乘了以后的结果与impact normal相乘,最后将结果输出到Add Impulse的Impulse中

Compile然后Save,在游戏模式中查看如下效果

可以看到小球在其运动方向上遇到障碍物以后,由于障碍物会阻止其运动方向,所以在我们节点的作用下会停在那个地方
如果我们撤销障碍物或者移动到不会阻挡其运动的位置,小球就会像之前一样飞出去,就不会触发hit

入门蓝图bp的第二天,蟹蟹围观。
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答为给新片造势,迪士尼这次豁出去了,拿出压箱底的一众经典IP,开启了梦幻联动朱迪和尼克奉命潜入偏远地带卧底调查 截至11月24日......
此前Q2问答环节,邹涛曾将《解限机》首发失利归结于“商业化保守”和“灰产猖獗”,导致预想设计与实际游玩效果偏差大,且表示该游戏......
2025 Google Play年度游戏颁奖:洞察移动游戏新趋势
玩家无需四处收集实体卡,轻点屏幕就能开启惊喜开包之旅,享受收集与对战乐趣库洛游戏的《鸣潮》斩获“最佳持续运营游戏”大奖,这不仅......
说明:文中所有的配图均来源于网络 在人们的常规认知里,游戏引擎领域的两大巨头似乎更倾向于在各自赛道上激烈竞争,然而,只要时间足......
在行政服务优化层面,办法提出压缩国产网络游戏审核周期,在朝阳、海淀等重点区将审批纳入综合窗口;完善版权服务机制,将游戏素材著作......
未毕业先就业、组团入职、扎堆拿offer...这种好事,再多来一打!
众所周知,火星有完善的就业推荐服务图为火星校园招聘会现场对火星同学们来说,金三银四、金九银十并不是找工作的唯一良机火星时代教育......
同学您好!