【转载】UE4 UGameplayStatics 类实用分析

938 阅读2分钟

原文链接:UE4[C++]UGameplayStatics类实用分析

UGameplayStatics 是一个很实用的静态类,我们不需要拥有指向此类的任何实例的指针,并且可以直接从任何地方调用函数。

多图预警!

多图预警!

多图预警!

使用引擎版本:4.22

(1)SpawnObject

UFUNCTION(BlueprintCallable, Category = "Spawning", meta = (BlueprintInternalUseOnly = "true"))
 	static UObject* SpawnObject(TSubclassOf<UObject> ObjectClass, UObject* Outer); 
return NewObject<UObject>(Outer, ObjectClass, NAME_None, RF_StrongRefOnFrame);

作用创建一个 Object

(2)生成相关函数

BeginSpawningActorFromBlueprint

作用:从蓝图中生成实例,但不会自动执行它的构造脚本

BeginDeferredActorSpawnFromClass

作用:生成一个 Actor 类的实例,但是不会自动执行它的构造脚本

FinishSpawningActor

作用:结束生成 Actor,执行构造脚本

注意BeginSpawningActorFromClass 已在 4.9 版本被弃用

(3)Actor函数相关

GetActorArrayAverageLocation

作用:获取 Actor 数组的平均位置

GetActorArrayBounds

作用:获取 Actor 数组的边界

(4)获取 Actor 相关

GetAllActorsOfClass

获取此类的 Actor 数组

GetAllActorsWithInterface

获取拥有此接口的 Actor 数组

GetAllActorsWithTag

获取此 Tag 的 Actor 数组

(5)Get 相关

获取 UGameInstanceAPlayerControllerAPawnACharacterAPlayerCameraManager

(6)关卡流相关

StreamLevel 的加载卸载

(7)关卡相关

(8)全局相关

获取 AGameModeBaseAGameStateBase、对象的 UClass

GetGlobalTimeDilation 在下面连接有实际应用

大侠刘茗:UE4[BP&C++]AbilitySystem研究实践——神速力技能16 赞同 · 4 评论文章

游戏的暂停、世界渲染等

(9)伤害相关

作用:应用范围伤害、点伤害、伤害等。

(10)摄像机相关

播放世界相机震动

(11)粒子相关

在目标生成粒子、Attach 生成粒子等

(12)音效相关

音效太多了,和粒子类似

(13)贴花相关

(14)碰撞相关

(15)SaveGame 相关

保存游戏与加载游戏

(16)时间相关

(17)其它工具函数

世界原始位置等

以上整理了17 类 GameplayStatic 的函数,后续版本有更新的话待补充,欢迎大家指教!