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

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.xdnf.cn/news/18468.html

相关文章:

  • 【typenum】 22 类型级别二进制对数运算(Logarithm2)
  • 【Java SE】深入理解继承与多态
  • openstack的novnc兼容问题
  • GitCode 疑难问题诊疗:全面指南与解决方案
  • 94. 城市间货物运输 I, Bellman_ford 算法, Bellman_ford 队列优化算法
  • 智慧工厂烟雾检测:全场景覆盖与精准防控
  • Java基础 8.22
  • 2-3.Python 编码基础 - 类型检测与类型转换
  • 集成电路学习:什么是SVM支持向量机
  • AI 大模型 “进化史”:从参数竞赛到场景落地,技术突破藏着哪些逻辑?
  • Unreal Engine UFloatingPawnMovement
  • 【ECharts】2. ECharts 性能优化
  • kafka的rebalance机制是什么
  • CentOS 10安装Ollama
  • 12-Linux系统用户管理及基础权限
  • 机试备考笔记 18/31
  • Nginx(一)认识Nginx
  • Eino 开源框架全景解析 - 以“大模型应用的搭积木指南”方式理解(一)
  • Azure TTS Importer:一键导入,将微软TTS语音接入你的阅读软件!
  • LeetCode 3195.包含所有 1 的最小矩形面积 I:简单题-求长方形四个范围
  • 【ElasticSearch】IK分词器安装,配置修改,支持新增词组,中文常用mapping使用案例
  • 微前端qiankun框架,子页面图标样式错乱问题,显示为X
  • 人脸识别驱动的工厂人体属性检测与预警机制
  • Conmi的正确答案——Ubuntu24.04禁用任何休眠
  • huggingface离线下载模型使用方法
  • CAN总线工具学习:DBC解析、设备扫描与报文监控
  • Logstash——性能、可靠性与扩展性架构
  • JAVA后端开发——API状态字段设计规范与实践
  • Claude Code接入Serena mcp
  • Elasticsearch Rails 集成(elasticsearch-model / ActiveRecord)