首先,你需要在Unreal Editor中创建一个新的C++类,继承自AActor。 打开Unreal Editor。点击“文件” > “新建C++类”。在弹出的对话框中,选择“Actor”作为父类。给你的类命名,例如MyCustomActor。点击“创建类”。2. 编写Actor类代码 在生成的.h和.cpp文件中,你可以定义Actor的属性、
/** Templated version of SpawnActor that allows you to specify a class type via the template type*///(泛型编程)由于 C++ 是编译型语言,在编译前必须确定好类型,//定义一个还不确定具体类型的 T类型,调用时需使用尖括号来确定<具体类型>template<classT >T* SpawnActor(constFActorSpawnParameters& Spawn...
voidAMyTest::BeginPlay(){Super::BeginPlay();// 增加子Actorif(ActorC!=nullptr){FTransform Transform=UKismetMathLibrary::MakeTransform(FVector(0.0,0.0,0.0),FRotator(0.0,0.0,0.0),FVector(1.0,1.0,1.0));UActorComponent*AC=AddComponentByClass(UChildActorComponent::StaticClass(),false,TF,false);AC...
我们首先尝试复现一下之前第4节的内容,在场景中建立一个Cube对象,不过这一次我们建立的Actor名称为CreateMeshActor,当然也可以是读者自己想到的任何一个名字。 在CreateMeshActor的构造函数中,我们还是声明一…
GatherActor阶段:在收集 Actor 时,收集所有相关的 Actor 列表,遍历 Actor 列表去一个个处理,处理之前是不知道哪些 Actor 在这一帧内同步属性被修改了,需要后续更多的逻辑去判断是否这个 Actor 在这一帧需要同步 属性对比阶段:针对一个 Actor 或 Component,引擎同样也是不能提前知道这个 Actor 有哪些属性改变,同样得...
5、创建第一个Actor Actor是放置在关卡中的对象,无论是相机、静态网格还是游戏关卡的起始位置。 我们将创建一种称为蓝图的特殊类型的Actor,它可以将网格组件组合成一个在游戏中使用的对象。 蓝图比简单地加入 3D 模型更强大——它们还可以将复杂的逻辑与模型集成在一起,并共同创建可重用的部分以添加到游戏中。
Actor 是游戏中一切实体 Actor 的基类 同理,我们分析 Actor 提供了什么功能让我们选择继承自 Actor: 虚幻中一个场景实体对应一个类 Actor 能够被挂载组件,Component 组件的含义被大大削弱(区别于 Unity 3D 中组件的大部分功能将会交给对应的继承自 Actor 类的子类来实现) ...
现在双击此蓝图 Actor 以打开蓝图 Actor 的编辑器。是时候建立你的潜艇模型了! 5.1 蓝图编辑器 蓝图编辑器有五个主要面板: 组件:包含当前组件的列表。 我的蓝图:此部分主要用于管理您的图表、函数和变量。 事件图:这就是魔法发生的地方。你所有的节点和逻辑都在这里。按住右键单击并移动鼠标进行平移。通过滚动鼠标...
现在双击此蓝图 Actor 以打开蓝图 Actor 的编辑器。是时候建立你的潜艇模型了! 5.1 蓝图编辑器 蓝图编辑器有五个主要面板: 组件:包含当前组件的列表。 我的蓝图:此部分主要用于管理您的图表、函数和变量。 事件图:这就是魔法发生的地方。你所有的节点和逻辑都在这里。按住右键单击并移动鼠标进行平移。通过滚动鼠标...
如果未开启CVarActorChannelPool,那么就会以NewObject的方式构建ActorChannel。 在构建ActorChanel实例之后,就会返回到UNetConnection::CreateChannelByName函数中,并在该函数对Channel实例进行初始化处理(UActorChannel::Init),主要是进行一些成员的初始化(RelevantTime、LastUpdateTime、Connection、OpenedLocally等)。