如图所示的效果,场中的物体会被吸附到黑球上,然后会被黑球所销毁。
OK,直接开始。
先根据Actor类为父类创建一个新的blackhole的C++类。
这个黑球需要一个staticmesh组件,和两个spherecomponent,一个是内部触发球,一个是外部触发球,内部触发球的作用是销毁所有和它重叠的物体,外部触发球的作用是给开了模拟物理的物体,施加一个面向黑球的径向力,让他们能飞到黑球旁边。
照例头文件声明
//这是提前声明
class UStaticMeshComponent;
class USphereComponent;
/球形网格体组件
UPROPERTY(EditDefaultsOnly)
UStaticMeshComponent*spherecomP;
//外部的触发球
UPROPERTY(EditDefaultsOnly)
USphereComponent*innersphere;
//内部的触发球
UPROPERTY(EditDefaultsOnly)
USphereComponent*outersphere;
之后在源文件的构造函数中对组件进行初始化
spherecomP = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("spherecomP"));
spherecomP->SetCollisionE