UE4中的信息交互

一. 与自定义事件的信息交互

1. 自定义事件

在关卡蓝图中添加【自定义事件(Add Custom Event)】节点,命名为CE_Test,然后指向【Print String】节点,输出CE_Test字符串。

2. 调用自定义事件
a. 可以通过在其他函数调用【CE_Test】事件。
b. 通过其他的事件调用【CE_Test】事件。
c. 通过Excute Console Command 节点 调用【CE_Test】事件。Command属性的命令为 CE 自定义事件名称



二. 玩家与地图中物体引用的信息交互

1. 在地图中创建一个Cube,命名为MyCube。

2. 点击地图中的MyCube,打开关卡蓝图,点击右键,添加MyCube的引用。

3. 添加按键F事件,调用MyCube的Add Actor Location Offset节点,来通过F使得物体发生位移。


三. 玩家与蓝图类中的信息交互

1. 创建一个蓝图类BP_MyTest,继承Actor。

2. 创建一个Static Mesh,随便增加一个模型,例如:Shape_Pipe。

3. 在蓝图类的事件图表中添加按键F触发Print String节点随便打印一些字符串。

4. 修改【类默认值】->【Input】->【Auto Receive Input】 为 Player 0。

键盘接收事件一般是在Character中定义,一般类默认不接收键盘输入,在蓝图类中如果需要接收键盘输入值,需要进行修改参数。

需要注意的是,若蓝图类存在多个对象,通过按键进行操作的活动仅会影响第一个被搜索到的对象,也就是说如果蓝图类存在ABC三个对象,进行操作也许只会影响A对象,因此对实体对象的操作一般要放到关卡蓝图中。


四. 蓝图类与关卡蓝图地图中其他物体的信息交互(在蓝图类获取关卡中物体的引用)

1. 在关卡地图中添加两个Cube,分别为Cube1和Cube2,设置其【可移动】。

2. 在蓝图类BP_Test中创建一个公有的变量TheCube,类型为Static Mesh Actor(引用对象类型)。

3. 在蓝图类BP_Test的事件图表中可以设置TheCube的行为,这时,TheCube是为空的状态。

4. 在关卡地图上放置蓝图类BP_Test的一个对象,并指定TheCube对象的值为Cube1。

5. 运行关卡,玩家可以通过蓝图类的设定来控制关卡地图上的Cube1了。



五. 蓝图类之间的信息交互(一个蓝图类调用另外一个蓝图类中的函数)

1. 创建新的蓝图类BP_MyTest2,继承Actor,随便选择一个Static Mesh,例如:Shape_QuadPyramid。

2. 添加一个自定义函数Show Name,调用Self节点的Get Display Name(选择获取对象名称,还有一个是获取类名称)节点来打印当前对象的变量名称。


3. 打开蓝图类BP_MyTest,创建公有变量MyTest2,并通过事件调用MyTest2的Show Name节点函数。


4. 在关卡视口中的BP_MyTest对象的MyTest2属性绑定BP_MyTest2对象,运行程序,测试效果。


六. 通过每个蓝图都可以获取的中间对象Pawn作为中间对象,来操作BP_MyTest和BP_MyTest2的对象。

1. 打开ThirdPersonCharacter蓝图类,添加两个公有变量MyTest和MyTest2,类型分别为BP_MyTest和BP_MyTest2。


2. 选择在关卡地图上的ThirdPersonCharacter角色对象,绑定其MyTest和MyTest2的引用。


3. 新建一个蓝图类BP_Controller,继承Actor,在这个类中设置【类默认值】->【Input】->【Auto Receive Input】 为 Player 0。

4. 在BP_Controller蓝图类的事件图表中,通过通用方法获取Pawn的对象并转化成地图中的角色对象,从而获取MyTest和MyTest2对象进行操作。


5. 将BP_Controller类的对象拖动到地图中,运行并测试效果。


七. 蓝图类调用关卡蓝图的自定义事件

1. 过程
a. 在关卡蓝图创建自定义事件CE_Test,打印Hello。
b. 在角色蓝图类(ThirdPersonCharacter)中定义按键F指向Excute Console Command 节点通过调用【CE_Test】事件来触发。

2. 关卡蓝图中可以创建一些自定义事件,在其他蓝图类中都可以使用Excute Console Command 节点进行调用。

3. 蓝图类中的自定义事件,在关卡蓝图中不可以直接调用只能通过蓝图类的对象进行调用。


版权声明:本文为CSDN博主「幽冥丶虾米」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_14930205/article/details/78604460

最新文章