World Trigger
world trigger是一个长方体形状的对象,当任何节点(无论是否存在)进入其内部或外部时,都会触发回调。触发器可以通过其触发器检测任何类型的节点绑定对象并且可以用来访问节点的组件和参数。
某些“抽象”对象没有边界。因此,它们不会与World Trigger(不管Triggers Interaction选项状态):
World Trigger影响网格
也可以看看#
- WorldTrigger类可通过API管理World Trigger
-
位于data/samples/worlds文件夹中的一组样本:
- trigger_01
- trigger_02
- 视频教程: 如何使用触发器按边界检测节点
创建一个世界触发器#
要通过UnigineEditor创建World Trigger,请执行以下操作:
-
在菜单栏上,选择Create -> Logic -> World Trigger
- 将节点放置在场景中。
编辑世界触发器#
在Parameters窗口的Node选项卡中,可以调整World Trigger的以下参数:
World Trigger节点的Node选项卡
边界框参数#
一组边界框参数:
Edit Size |
开启和关闭World Trigger节点的编辑模式。启用后,可以调整大小的边界框边将用彩色矩形突出显示。要更改边的大小,请拖动相应的矩形。 |
---|---|
Touch | 开启和关闭World Trigger的触摸模式。启用此模式后,World Trigger在部分接触时对节点做出反应。否则,仅当整个边界框进入内部时,World Trigger才会做出反应。 |
Size | 沿X, Y和Z轴的World Trigger边界框的大小,以单位为单位。 |
设置回调#
要添加回车或离开回调,请编写一个接收以下内容的回调函数:节点作为第一个论点。然后使用addEnterCallback或addLeaveCallback方法指定要调用的函数。
// add the enter callback to be fired when a node enters World Trigger
worldTrigger->addEnterCallback(MakeCallback(this, &AppWorldLogic::enter_callback));
// add the leave callback to be fired when a node leaves World Trigger
worldTrigger->addLeaveCallback(MakeCallback(this, &AppWorldLogic::leave_callback));
// add the enter callback to be fired when a node enters World Trigger
worldTrigger.AddEnterCallback(enter_callback);
// add the leave callback to be fired when a node leaves World Trigger
worldTrigger.AddLeaveCallback(leave_callback);
最新更新:
2023-06-23
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)