创建UStaticMeshComponent: 使用NewObject创建对象并指定其Outer,此处如果不指定在后续RegisterComponent时将会报错。在Component中Parent为组件的GetOwner(),在Actor中可以直接指定为this。 UStaticMeshComponent*NewMesh=NewObject<UStaticMeshComponent>(Parent);if(NewMesh==nullptr){returnfalse;} ...
2.UProcedualMeshComponent(PMC) 3.USimpleDynamicMeshComponent(SDMC) 技术实现 准备FMeshDescription 运行时获取FMeshDescription并合并生成新的StaticMesh 总结 应用场景 一般来说,游戏中很少会需要用到运行时合并的操作,更多的是在Editor下提前将多个相距不远的Mesh合并成一个来减少运行时的DrawCall,比如随着游戏项目...
voidUMyClass::EditBlueprintComponentProperty(UBlueprint*Blueprint){TArray<UObject*>SubObjects;Blueprint->GeneratedClass->GetDefaultObjectSubobjects(SubObjects);for(autoSubObject:SubObjects){if(USkeletalMeshComponent*SkeletalMeshComponent=Cast<USkeletalMeshComponent>(SubObject)){SkeletalMeshComponent->SetVisi...
拿UCableComponent为例进行解析,在/Engine/Plugins/Runtime/CableComponent/Source/CableComponent/Classes/CableComponent.h 中 定义了数据结构如图所示 下面开始定义自己所需的VertexBuffer与IndexBuffer,由于在UE5以前都是使用FVertexBuffer的,后续使用FStaticMeshVertexBuffers代替了FVertexBuffer,StaticMeshVertexBuffer是存...
UE4/UE5的骨骼动画其实都是通过SkeletalMeshComponent来实现的。这个组件内部会引用到一个SkeletalMesh资源,就像StaticMeshComponent一样,也有一个StaticMesh资源,从资源层面来说SkeletalMesh和StaticMesh的区别就是多了骨骼。Component相对于资源来说,可以理解为对象实例和类的关系,同一个资源可以有很多个Component实例。...
对于一个这个函数,我们需要分别【添加】一个输入和一个输出,输入类型为StaticMeshComponent。我们将其命名为SM。输出设置为Vector类型,然后命名为:Location。然后我们将上面重复的位置变化的蓝图Ctrl+X剪切,Ctrl+V粘贴到函数中,然后将输出的Location向量分解为X、Y、Z。与重复的部分连接。将函数的输入部分SM连接到函数...
2 StaticMeshComponent:包含渲染的预构建几何体,但也可以用于碰撞检测。 3 SkeletalMeshComponent:包含渲染的预构建几何体,但也可以用于碰撞检测。 UInputComponent组件类 它使Actor能够绑定各种形式的输入事件来委托函数。 输入组件从PlayerController管理的堆栈中处理,并由PlayerInput处理。
给Actor动态增加一个StaticMeshComponent 首先我们先创建一个c++的类MyTest,创建完成后,2个文件如下所示,你们的代码文件会因为项目名称跟我不一样而有区别,主要就是TestProject_API会变成你的项目名字加_API MyTest.h #pragmaonce#include"CoreMinimal.h"#include"GameFramework/Actor.h"#include"MyTest.generated.h...
UE4/UE5的骨骼动画其实都是通过SkeletalMeshComponent来实现的。这个组件内部会引用到一个SkeletalMesh资源,就像StaticMeshComponent一样,也有一个StaticMesh资源,从资源层面来说SkeletalMesh和StaticMesh的区别就是多了骨骼。Component相对于资源来说,可以理解为对象实例和类的关系,同一个资源可以有很多个Component实例。
1.AddStaticMeshComponent:在Actor对象中,所有的静态模型成员(StaticMeshComponent)都可以通过这个节点来创造。只要循环N3次,就能创造出我们需要的N3个小方块。至于每个小方块的相对位置,建议经过计算后用Transform数据类型接入这个节点。 2.MakeTransform:用这个节点解决上面的Transform数据类型。