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

Unreal Engine AActor

Unreal

  • 🎮 Unreal Engine - AActor
    • 🏷 定义
    • 🧩 类继承关系
    • ⚙️ 关键特性
    • 📝 使用方法
      • 1. 创建 Actor
      • 2. 生命周期回调
      • 3. 组件绑定示例
    • 📚 常见子类与用途
    • 📦 小结

🎮 Unreal Engine - AActor


🏷 定义

  • AActor继承自 UObject 的世界对象基类
  • 表示 游戏世界中可放置的对象,可拥有位置、旋转、缩放等变换信息。
  • 支持组件组合,可通过 ActorComponent 添加功能(如渲染、碰撞、音效)。
  • 场景中所有可交互对象(如玩家、NPC、道具、触发器)的核心类

🧩 类继承关系

UObject└── AActor├── APawn├── ACharacter├── AVolume└── ... 其他 Actor 派生类
  • UObject:基础对象类
  • AActor:世界中可放置对象
  • APawn:可被玩家或 AI 控制的 Actor
  • ACharacter:带有移动组件和碰撞的 Pawn
  • AVolume:体积类 Actor,如触发区域

⚙️ 关键特性

  • 变换信息(Transform)
    • 拥有位置(Location)、旋转(Rotation)、缩放(Scale)
    • 可通过蓝图或 C++ 控制对象移动、旋转
  • 组件组合(Component System)
    • Actor 可以附加多个 ActorComponent
    • 常用组件:
      • UStaticMeshComponent:网格渲染
      • USkeletalMeshComponent:骨骼网格
      • UAudioComponent:声音播放
      • UCameraComponent:摄像机
  • 生命周期管理
    • 核心回调:
      • BeginPlay():Actor 开始游戏或被生成时调用
      • Tick(float DeltaTime):每帧更新
      • EndPlay():Actor 被销毁或关卡结束时调用
    • 支持动态生成、复制、销毁
  • 碰撞与物理
    • Actor 可拥有碰撞体(Collision Component)
    • 支持事件绑定:
      • OnActorBeginOverlap
      • OnActorEndOverlap
      • OnActorHit
  • 网络与复制(Replication)
    • Actor 支持在客户端/服务器间同步
    • 通过 bReplicatesReplicateMovement 控制复制行为

📝 使用方法

1. 创建 Actor

// 生成 Actor
FVector SpawnLocation(0.f, 0.f, 100.f);
FRotator SpawnRotation(0.f, 0.f, 0.f);AMyActor* MyActor = GetWorld()->SpawnActor<AMyActor>(AMyActor::StaticClass(), SpawnLocation, SpawnRotation);

2. 生命周期回调

// MyActor.cpp
void AMyActor::BeginPlay()
{Super::BeginPlay();UE_LOG(LogTemp, Warning, TEXT("Actor has begun play"));
}void AMyActor::Tick(float DeltaTime)
{Super::Tick(DeltaTime);// 每帧逻辑
}

3. 组件绑定示例

// 头文件
UPROPERTY(VisibleAnywhere)
UStaticMeshComponent* MeshComponent;// CPP文件构造函数
MeshComponent = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("MeshComponent"));
RootComponent = MeshComponent;

📚 常见子类与用途

用途
APawn可被玩家或 AI 控制的 Actor
ACharacter带移动组件和碰撞的 Pawn,用于玩家角色
AVolume空间体积 Actor,用于触发逻辑或物理检测
ATriggerVolume继承自 AVolume,用于区域触发事件
ALight灯光 Actor
ACameraActor摄像机 Actor

📦 小结

  • AActor = 世界中可放置的对象基类
  • ✅ 拥有位置、旋转、缩放(Transform)
  • ✅ 可组合多个组件扩展功能
  • ✅ 支持生命周期回调、碰撞事件和网络复制
  • ✅ 常用作玩家、NPC、道具、触发器等所有可交互对象的基类

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

相关文章:

  • 机器学习--线性回归
  • K8S - NetworkPolicy的使用
  • Spring发布订阅模式详解
  • 国产CANFD芯片技术特性与应用前景综述:以ASM1042系列为例
  • 宝可梦:去吧皮卡丘/去吧伊布 PC/手机双端(Pokemon-Lets Go Pikachu)免安装中文版
  • MeterSphere接口自动化共享cookie
  • 开发避坑指南(33):Mybatisplus QueryWrapper 自定义查询语句防注入解决方案
  • 【Cmake】Cmake概览
  • C2039 “unref“:不是“osgEarth::Symbology::Style”的成员 问题分析及解决方法
  • 【RA-Eco-RA4E2-64PIN-V1.0 开发板】步进电机驱动
  • 育教大师广州专插本培训机构指南
  • STM32项目分享:基于STM32的焊接工位智能排烟系统
  • 视频编码异常的表现
  • 【Linux系列】Linux 中替换文件中的字符串
  • 基于SpringBoot的考研学习交流平台【2026最新】
  • Nginx 创建和配置虚拟主机
  • 掌握设计模式--命令模式
  • 全面解析 `strchr` 字符串查找函数
  • Java面试宝典:Redis底层原理(持久化+分布式锁)
  • 智慧农业新基建:边缘计算网关在精准农业中的落地实践案例
  • C#_高性能内存处理:Span<T>, Memory<T>, ArrayPool
  • const(常量)
  • Android.bp 基础
  • 安全帽检测算法如何提升工地安全管理效率
  • AI 向量库:从文本到数据的奇妙之旅​
  • 编排之神--Kubernetes中包管理Helm工具详解
  • Jmeter压测实操指南
  • 金融量化入门:Pandas 时间序列处理与技术指标实战(含金叉死叉 / 均线策略)
  • GaussDB SQL引擎(1)-SQL执行流程
  • 从创新到落地:技术驱动下的企业管理变革新趋势