1.尽量不要在.h文件中包含额外的头文件。应当在.cpp文件中包含头文件,而在.h文件中通过“class xxxxx”进行前向声明,这样做可以加快编译速度,而且不会报错。
2.某个引擎类的头文件未包含时,使用VA的Alt+Shift+O键打开文件库进行搜索,即可得到头文件路径。
3.StaticMesh组件有自带的碰撞,需要取消(Collision->CollisionPreset==No Collision),只启用Sphere组件的碰撞即可。 c++中设置碰撞:
4.SpawnEmitterAtLocation函数中的UObject* WorldContext 参数,传入this。
5.添加重叠事件的两种形式: (1)USphereComponent::OnComponentBeginOverlap.AddDynamic(this,&类::方法名) 该方法的函数签名需要匹配对应委托。
(2)Actor::NotifyActorBeginOverlap()
需要被当前碰撞体Actor所检测到的Actor,需要勾选Collision下的bGenerateOverlapEvent。
6.获取重叠的组件: USphereComponent::GetOverlappingComponents(TArray< UPrimitiveComponent* > components) 将提前创建好的数组传入,就能得到与该碰撞体组件重合的所有UPrimitiveComponent。
7.“吸入黑洞”小功能: