UE4蓝图制作三维弹球学习笔记(二)

it2025-12-29  7

UE4蓝图制作三维弹球学习笔记(二)

1、BP_Fliper

Viewport

使用Static Mesh导入Fliper。

Construction

使用同一个蓝图表示左右不同的Fliper。在蓝图文件夹中创建Enumeration(枚举)蓝图,在其中增加Left和Right。

在构造时定义一个变量命名FliperType,类型选择为之前Enumeration蓝图的名字,编译之后可以选择左右。使用Switch on节点根据枚举变量初始化Fliper起点和终点Rotation值并初始化起点位置。最后根据枚举变量通过SetRelativeScale3D设置Fliper朝向。

Event Graph

旋转操作时使用MoveComponentTo节点,根据旋转变量移动即可。

2、倍数板制作

(1)、牌子的制作

创建Drop事件和Reset事件。使用MoveComponentTo移动牌子,使用SetCollisionEnable实现碰撞体的有效和失效。 使用EventHit触发小球碰撞,并向全局发送自定义事件OnTarget(计算牌子数量使用)。

(2)、柱子制作

构造时,复制一个Post变量Post2,添加一个位置向量Post2Location。通过FindLookRotation确定Post和Post2朝向。使用MakeTransform在Post2Location位置添加一个StaticMeshComponent并赋值给Post2。

在Post位置添加StaticMeshComponent(绳子模型)并更具post和post2之间距离改变绳子X轴长短。

(3)、组合出倍数板

创建Post类的子类。构造时拆分字符串为数组,遍历数组,创建牌子,并更具两个Post之间的长度和朝向设置牌子位置,并将数组字符赋值给牌子中Text。最后将自身事件TargetDropProcess绑定在牌子类的OnTarget事件中。

TargetDropProcess每次有牌子被击倒,减少一次当前牌子数量。牌子数量<=0时,时GameInstance中的分数翻倍,并遍历重置牌子和当前牌子数量。

最新回复(0)