打开蓝图,选择静态网格体资源,将我们创建的蓝图拖拽到场景中,运行即可看到静态网格体组件被创建出来了 给Actor动态增加一个ChildActor 原理和增加组件是一样的,增加一个ChildActorComponent,再设置ChildActorClass,我们直接上代码 给MyTest.h中增加一个属性,用于我们方便的指定子对象的蓝图资源 在BeginPlay()函数中增加组件 最终的代码结果 MyTest.h MyTest.cpp
Actor的主要特性 1 场景中的位置和变换 2 组件系统 3 生命周期和事件 4 游戏逻辑和交互 Actor的使用 Actor的生命周期 Actor的常见功能 3 移动和动画 Actor的注意事项 Actor与其他类的关系 总结 关键点: Component 什么是组件? 组件的分类 1 场景组件(Scene Component) 2 Actor 组件(Actor Component) 3 自定义...
voidASMagicProjectile::OnActorOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex,boolbFromSweep,constFHitResult& SweepResult){if(OtherActor && OtherActor!=GetInstigator()) {//获取除了自己的其他对象的AttributeComponent属性USAttributeComp...
这个非常关键,在UE中并没有见到Unity中自由的父物体子物体关系,比如主角,是一个Actor,主角的身上可能有多个ScenceComponent,也就有多个不同的Transform,对应身体的不同部位,现在有一个武器Actor,我们想把它定位当主角的手上,这就需要我们在继承的时候去选择对应的SceneComponent voidAActor::AttachToActor(AActor*Pare...
执行规则(关卡内序列化的Actor) 规则就是分阶段执行,单个阶段内,不同Actor之间、不同Component之间的执行次序不应做假设,但是前2个阶段里,Actor构造和BeginPlay的时候,会依赖性的调用内部的Component的构造和BeginPlay。 step1: 所有Actor::构造。 step2: 所有Actor::BeginPlay。
考虑到后续升级和复用,我创建了一个C++的ActorComponent挂载到Dynamic Sky Actor上。使用这个Component作为作为数据控制器。接下来就是如何把数据从三种已经调好的流送关卡中读取出来、写到DataTable,然后在切换预设的时候把参数再写到主场景的Dynamic Sky Actor中。简单来说就是:...
UActorComponent::RegisterComponentWithWorld() []0x00007ff70650901e meta1213-Win64-Shipping.exe!AActor::IncrementalRegisterComponents() []0x00007ff7069d9985 meta1213-Win64-Shipping.exe!ULevel::UpdateLevelComponents() []0x00007ff706e97c3a meta1213-Win64-Shipping.exe!UWorld::UpdateWorldComponents() ...
在需要接受EasyV消息的Actor中添加EasyVComponent组件 在选中组件,在细节面板设置EasyV ID,保证EasyV ID和EasyV中设置的消息名称一致 实现EasyVCompent的OnReceivingMessage回调事件 事件OnReceivingMessage会接收到EasyV消息时触发,Data就是接收到的EasyV中设置的消息内容 ...
至于为什么非得要用 Event Track 来设置路径,而不是在 Actor 的 Component 相关属性中直接设置路径,然后添加到 Sequence 中,只能说这是 uDraper 插件的问题,直接设置会弹出个弹窗说“路径缺少 xxxx 文件”(因为该路径只有缓存数据而没有布料相关的数据),但是如果在 Event Track 中通过 Event 帧调用函数Cache(缓存...
Component可以加事件 ex. 要在begin play加,在建構式加會沒反應 Component->OnClicked.AddDynamic(this, &AYourActor::OnMouseClicked); 傳入參數請參考標頭檔 建構式可以加入各種Component在該actor底下 首先使用 GENERATED_UCLASS_BODY() 然後在cpp實作建構式 ...