如何在Unreal Engine 4/5中使用C++?UE C++游戏开发入门【游戏引擎】

admin 百科 13
UE C++开发需遵循引擎规则:类须继承UE基类并用UCLASS等宏声明,变量函数用UPROPERTY/UFUNCTION暴露给蓝图,内存由引擎管理,修改后需编译热重载,调试用UE_LOG或VS附加进程。

如何在Unreal Engine 4/5中使用C++?UE C++游戏开发入门【游戏引擎】-第1张图片-佛山资讯网

在Unreal Engine 4/5中使用C++不是“写个类就能运行”的简单事,而是要理解UE的反射系统、对象生命周期和编辑器集成机制。核心在于:用UE的宏(如UCLASSUPROPERTY)告诉引擎“这个类/变量需要被识别”,否则编辑器看不到、蓝图调不了、甚至运行时会崩溃。

从C++类开始:别直接写普通C++类

UE不认标准C++类。所有要参与游戏逻辑的类,必须继承自UE基础类(如AActorUObjectUActorComponent),并用UE宏声明:

  • 必须加UCLASS():放在类声明前,让引擎生成反射数据;
  • 类名建议以A(Actor)、U(Object/Component)、F(Struct)或T(Template)开头,比如AMyCharacterUHealthComponent
  • 构造函数里要用PrimaryActorTick.bCanEverTick = true才能启用Tick()
  • 不要手动newdeleteUE对象——用GetWorld()->SpawnActor<t>()</t>Destroy()由引擎管理内存。

暴露变量和函数给蓝图:靠UPROPERTY和UFUNCTION

想在蓝图里拖线、设默认值、调用函数?光写public不行,得加宏:

  • UPROPERTY(EditAnywhere, BlueprintReadWrite):变量能在细节面板修改、蓝图读写;
  • UPROPERTY(VisibleDefaultsOnly):只在类默认值里显示,实例中不可改;
  • UFUNCTION(BlueprintCallable):函数可在蓝图中调用;
  • UFUNCTION(BlueprintPure):纯函数(无副作用),可作节点返回值;
  • 参数也要加UPARAM标签(如UPARAM(ref))才能传引用给蓝图。

编译与热重载:别跳过这步,否则代码不生效

UE的C++代码不会自动加载。每次改完必须:

标签: c++ 游戏开发 c++开发

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~