引擎版本为4.24
最近在写一个功能的时候,遇到了一个问题,就是使用C++来动态生成一个USphereComponent组件,当使用蓝图来继承该C++类时,却发现该USphereComponent组件,没有细节面板(无法修改其中的东西)。
生成的代码如下:
CollisionComp = CreateDefaultSubobject<USphereComponent>(TEXT("SphereComp"));
方法一:
只需要在下面添加一句
RootComponent = CollisionComp;
将该组件改为根组件即可。
该解决方法在UE4 第一人称射击C++项目中的Projectile类中找到的。
方法二:
直接将该USphereComponent组件通过BlueprintReadWrite声明为蓝图可读写即可。
public:
UPROPERTY(VisibleDefaultsOnly,BlueprintReadWrite,Category = Projectile)
class USphereComponent* CollisionComp;
建议使用第二种。