使用 Transform Setter 组件传送目标
Transform Setter 组件可以在场景中传送玩家、对象或主摄像机。它支持设置绝对位置与旋转,也支持基于参考对象设置相对偏移。 你可以通过添加 Transform Setter 组件并配置事件触发器(Event Trigger),调用 SetTransform、SetPosition 或 SetRotation 动作(action)来实现传送。
同时传送位置与旋 转
-
在快速创建面板(Create panel)中添加空对象(empty object)到场景。
-
在空对象的 属性(Properties) 窗口添加触发盒(trigger box),并调整其尺寸覆盖所需激活区域。
-
点击 添加组件(Add Component),在 Horror Logic 包下搜索并添加 Transform Setter 组件。
-
按需配置 Transform Setter:
- 选择要传送的目标:场景中的对象、第一人称玩家角色或主摄像机。
- (可选)指定参考对象,以实现位置和/或旋转的偏移。
- 输入绝对或相对的位置坐标。
- 输入绝对或相对的旋转值。
信息当目标引用了其他对象时,其初始位置和旋转会基于生成时的旋转计算。
更多组件详情请参见 Transform Setter
-
在空对象的属性窗口点击添加 事件触发器 组件。
-
配置 事件触发器 组件:
- 触发对象(Trigger Object) 设为 自身(Self)(即空对象本身)。
- 触发事件(Trigger Event) 设为 OnTriggerEnter(当实体进入触发盒时激活)。
- 动作对象(Action Object) 设为 自身(Self)。
- 动作函数(Action Function) 设为 SetTransform。
当触发盒被激活时,指定目标会被传送到配置的位置和旋转。
示例 1:将玩家传送到绝对位置与旋转
以 Horror playground 模板为例:
-
在快速创建面板添加空对象,放在场景传送门和检查点之间。
-
在空对象上添加并调整触发盒。
-
添加 Transform Setter 组件。
-
配置 Transform Setter:
-
打开 Set Local Player Avatar。
-
位置(Position) 设为 (-9, 0.8, -0.05),位于附近桌子后方。
-
旋转(Rotation) 设为 (0, 90, 0),使玩家传送后面朝出生点。
-
其他字段保持默认。
-
-
添加 事件触发器 组件。
-
配置 事件触发器 组件:
-
触发对象 设为 自身。
-
触发事件 设为 OnTriggerEnter。
-
动作对象 设为 自身。
-
动作函数 设为 SetTransform。
-
-
进入Play模式测试玩家传送。
示例 2:将玩家传送到相对位置与旋转
以 Horror playground 模板为例:
-
在快速创建面板添加空对象,放在场景传送门和检查点之间。
-
在空对象上添加并调整触发盒。
-
添加 Transform Setter 组件。
-
配置 Transform Setter:
-
打开 Set Local Player Avatar。
-
选择附近的 Wizard 模型(旋转:0, 90, 0)作为参考对象(reference object)。
-
位置(Position) 设为 (0, 0, 0),保持 Offset Position 关闭。
-
旋转(Rotation) 设为 (0, 0, 0),并启用 Offset Rotation。
-
-
添加 事件触发器 组件。
-
配置 事件触发器 组件:
-
触发对象 设为 自身。
-
触发事件 设为 OnTriggerEnter。
-
动作对象 设为 自身。
-
动作函数 设为 SetTransform。
-
-
进入Play模式测试玩家传送。
单独传送位置或旋转
你可以通过调整事件触发器中的动作函数(Action Function),仅传送位置或仅传送旋转:
- 仅传送位置时,将 动作函数(Action Function) 设为 SetPosition。
- 仅传送旋转时,将 动作函数(Action Function) 设为 SetRotation。 按上述步骤 1–7 操作,未用到的字段可留空或禁用。