当前位置: 首页 > news >正文

Unreal Engine ATriggerVolume

Unreal

  • 🎯 Unreal Engine - ATriggerVolume
    • 🏷 定义
    • 🧩 类继承关系
    • ⚙️ 关键特性
    • 📝 使用场景
    • 🛠️ 示例代码
      • **关键函数**
      • C++ 绑定 Overlap 事件
    • 📦 小结
  • 🎮 Unreal Engine — ATriggerVolume 笔记
    • 📌 基本概念
    • 🏗️ 继承关系
    • ⚙️ 特点
    • 📝 使用方法
      • 1. 放置到场景
      • 2. 绑定事件(蓝图)
      • 3. 绑定事件(C++)
    • 📚 常见应用场景
    • ✅ 总结
  • 🎮 Unreal Engine - Trigger 系列类对比
    • 🏷 什么是 Trigger?
    • 📦 常见 Trigger 类
    • 🧩 类继承关系图
    • ⚙️ 共同特性
    • 📝 使用场景
    • 🛠️ 示例(蓝图逻辑)
    • 📦 小结

🎯 Unreal Engine - ATriggerVolume


🏷 定义

  • ATriggerVolume继承自 AVolume 的特殊体积类
  • 用于在场景中检测 Actor 进入 / 停留 / 离开 某个区域。
  • 常用于触发事件(如开门、播放音效、切换关卡)。

🧩 类继承关系

UObject└── AActor└── AVolume└── ATriggerVolume
  • AVolume:带有体积边界(Brush)的 Actor。
  • ATriggerVolume:在 Volume 的基础上,专门用于触发逻辑。

⚙️ 关键特性

  • 不可见:游戏运行时默认不可见,不会渲染。
  • 碰撞检测:只检测重叠事件(Overlap),不产生物理阻挡。
  • 事件绑定:可在蓝图或 C++ 中响应以下事件:
    • OnActorBeginOverlap
    • OnActorEndOverlap
    • OnActorHit(如果设置了碰撞响应)

📝 使用场景

  • 🚪 开门:玩家进入触发区 → 门自动打开。
  • 🎶 音效/音乐:进入区域播放环境音。
  • 💡 光效/特效:进入某区域触发粒子或灯光。
  • 📌 关卡逻辑:进入触发区后切换关卡、更新任务状态。

🛠️ 示例代码

关键函数

  • OnActorBeginOverlap(AActor* OverlappedActor, AActor* OtherActor)

    👉 当 Actor 进入 TriggerVolume 时调用。

  • OnActorEndOverlap(AActor* OverlappedActor, AActor* OtherActor)

    👉 当 Actor 离开 TriggerVolume 时调用。

C++ 绑定 Overlap 事件

// MyTriggerActor.cpp
AMyTriggerActor::AMyTriggerActor()
{// 获取 TriggerVolume 的 RootComponentOnActorBeginOverlap.AddDynamic(this, &AMyTriggerActor::OnOverlapBegin);OnActorEndOverlap.AddDynamic(this, &AMyTriggerActor::OnOverlapEnd);
}void AMyTriggerActor::OnOverlapBegin(AActor* OverlappedActor, AActor* OtherActor)
{if (OtherActor && OtherActor != this){UE_LOG(LogTemp, Warning, TEXT("Actor entered trigger: %s"), *OtherActor->GetName());}
}void AMyTriggerActor::OnOverlapEnd(AActor* OverlappedActor, AActor* OtherActor)
{UE_LOG(LogTemp, Warning, TEXT("Actor left trigger: %s"), *OtherActor->GetName());
}

📦 小结

  • ATriggerVolume = 用于区域检测的 Volume
  • ✅ 不可见,不阻挡
  • ✅ 检测 Actor 进入/离开
  • ✅ 常用于开门、触发音效、关卡逻辑

🎮 Unreal Engine — ATriggerVolume 笔记

📌 基本概念

  • ATriggerVolumeUnreal Engine 中的一种特殊 Volume 类
  • 主要用于 触发事件 (Trigger Events),当物体进入或离开该区域时,游戏逻辑会被触发
  • 常用于:
    • 开门 / 关门
    • 播放动画
    • 启动机关
    • 切换场景/传送玩家

🏗️ 继承关系

UObject└── AActor└── AVolume└── ATriggerBase└── ATriggerVolume
  • UObject → 所有 UE 类的基类
  • AActor → 世界中的基础对象
  • AVolume → 具有体积(Volume)的 Actor
  • ATriggerBase → 用于触发的基类
  • ATriggerVolume → 最终的触发体类

⚙️ 特点

  • 不可见但有碰撞体积(默认 Box/Sphere/Cylinder)
  • 检测 Overlap(重叠事件)
  • 可以绑定事件,例如:
    • OnActorBeginOverlap → 当 Actor 进入体积
    • OnActorEndOverlap → 当 Actor 离开体积

📝 使用方法

1. 放置到场景

  • Place Actors 面板 中搜索 Trigger Volume
  • 拖入场景并调整大小

2. 绑定事件(蓝图)

  • 选中 Trigger Volume
  • 细节面板 (Details Panel) 里绑定 OnActorBeginOverlapOnActorEndOverlap
  • 在事件图(Event Graph)中编写逻辑

3. 绑定事件(C++)

// 头文件
UFUNCTION()
void OnOverlapBegin(AActor* OverlappedActor, AActor* OtherActor);// CPP文件
ATriggerVolume* Trigger = ...;
Trigger->OnActorBeginOverlap.AddDynamic(this, &AMyClass::OnOverlapBegin);void AMyClass::OnOverlapBegin(AActor* OverlappedActor, AActor* OtherActor)
{UE_LOG(LogTemp, Warning, TEXT("Actor entered Trigger Volume"));
}

📚 常见应用场景

  • 🚪 门的开关:玩家靠近触发开门动画
  • 🔊 音效控制:进入区域播放音乐,离开后停止
  • 🎥 镜头切换:进入触发区切换摄像机
  • 🌌 传送门:将玩家传送到另一个关卡/坐标

✅ 总结

  • ATriggerVolume = “隐形开关”
  • 用于检测 Actor 进入/离开区域 并触发逻辑
  • 常见于 关卡交互、机关设计、剧情触发

🎮 Unreal Engine - Trigger 系列类对比


🏷 什么是 Trigger?

  • Trigger:用于检测 Actor 进入 / 停留 / 离开 某个区域的 特殊体积类 (Volume)
  • 不可见,不产生物理阻挡,仅用于触发事件。

📦 常见 Trigger 类

类名继承关系区域形状用途
ATriggerVolumeAVolume → ATriggerVolume自定义 Brush 体积(任意形状)灵活,适合复杂几何区域
ATriggerBoxATriggerVolume → ATriggerBox盒子(长方体)方形触发区,如门口区域
ATriggerSphereATriggerVolume → ATriggerSphere球体圆形范围检测,如怪物警戒范围

🧩 类继承关系图

UObject└── AActor└── AVolume└── ATriggerVolume├── ATriggerBox└── ATriggerSphere

⚙️ 共同特性

  • 不可见:默认游戏运行时不会渲染。
  • 只检测 Overlap:不会阻挡 Actor。
  • 事件绑定(蓝图或 C++):
    • OnActorBeginOverlap
    • OnActorEndOverlap
    • OnActorHit(如果开启碰撞响应)

📝 使用场景

  • ATriggerVolume
    • 关卡区域检测(比如进入房间触发剧情)
    • 任意复杂形状触发区
  • ATriggerBox
    • 方形区域检测(如门口自动开门)
    • 电梯区域触发
  • ATriggerSphere
    • 范围检测(如怪物发现玩家范围)
    • 环形触发音效或光效

🛠️ 示例(蓝图逻辑)

  1. 在关卡中放置 Trigger(Box/Sphere/Volume)。
  2. 蓝图编辑器中绑定:
    • OnActorBeginOverlap → 执行事件(开门/播放音效)。
    • OnActorEndOverlap → 执行事件(关门/停止音效)。

📦 小结

  • ATriggerVolume:通用,支持任意形状 Brush。
  • ATriggerBox:长方体检测区域,简单高效。
  • ATriggerSphere:球体检测区域,常用于范围判定。

http://www.dtcms.com/a/346199.html

相关文章:

  • java 海报、图片合成
  • 蓝牙部分解析和代码建构
  • SSH如何访问只有没有公网IP的云服务器
  • loss 基本稳定,acc 一直抖动,如何优化?
  • assetbuddle hash 比对
  • 【计算机网络】 IPV4和IPV6区别
  • JSON学习和应用demo
  • 每日算法题【链表】:移除链表元素、反转链表
  • 嵌入式第三十五课!!Linux下的网络编程
  • 非标机械设备工厂,一般会遇到哪些问题
  • Linux服务器查看启动服务的5种方法
  • 基于RBAC的权限控制:从表设计到接口实现全指南
  • Beszel 服务器监控平台使用教程
  • JVM虚拟机
  • Leetcode—1683. 无效的推文【简单】
  • 网络与信息安全有哪些岗位:(7)等级保护测评师
  • tensorflow-gpu 2.7下的tensorboard与profiler插件版本问题
  • 第九章 Leaflet 实战:多边形绘制工具开发与面积实时计算(含双击报错修复方案)
  • Qt QML实现 无边框圆角窗口拖动(附窗口控制按钮)
  • RAG初筛方案实例验证-多种BM25方案
  • 类器官培养基系列,助力高效医学研究
  • Navicat连接MySQL-出现1045无法连接问题
  • AI实验管理神器:WandB全功能解析
  • 【python】os.mkdir() 和 os.makedirs()区别
  • 数学建模-灰色关联分析
  • map_set
  • Trie 树(字典树)
  • Rust 入门 注释和文档之 cargo doc (二十三)
  • 51单片机-中断系统
  • 【数据分享】各省及全国GDP增长指数(1980-2022)