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边界框的大小,以单位为单位。 |
设置回调#
要在节点进入或离开World Trigger时执行特定的操作,您应该实现接收 node 作为第一个参数的事件处理程序。然后,您应该订阅输入和/或离开事件并调用connect()。
// subscribe to the Enter event when a node enters the world trigger with your handler
worldTrigger->getEventEnter().connect(enter_event_handler);
// subscribe to the Leave event when a node leaves the world trigger with your handler
worldTrigger->getEventLeave().connect(leave_event_handler);
// subscribe to the Enter event when a node enters the world trigger with your handler
worldTrigger.EventEnter.Connect(enter_event_handler);
// subscribe to the Leave event when a node leaves the world trigger with your handler
worldTrigger.EventLeave.Connect(leave_event_handler);
最新更新:
2024-12-13
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)