UE中的常见资产和模块

常见资产和模块

常见资产

类型功能
Aim Offset叠加在基础动作上,实现瞄准偏移。
Animation Blueprint实现动画切换逻辑,包括状态机等。
Blend Space通过参数将多个动画混合在一起,比如,实现不同速度和方向的移动。
Behavior Tree由AIController开启,控制AI的行为逻辑,包括行为树任务和服务等。
Blackboard存储变量,配合Behavior Tree实现行为逻辑。
Sound Attenuation实现空间音频。
Sound Cue实现混合音频,比如,一种动作发出不同种声音。
Blueprint Class通过脚本实现游戏逻辑。
Material制作材质。
Material Instance配置Material参数后在网格上使用。
Widget Blueprint制作UI,实现UI逻辑,比如,HUD,受伤减血。

常见模块

游戏 (Game)程序 (Program)编辑器 (Editor) 是UBT的三个 构建目标 (Target),每个构建目标由若干个 模块(Module) 完成,每个模块实现一种特定的功能,模块被划分为 运行时 (Runtime)编辑器功能 (Editor)开发工具 (Utility) 三类,大多数游戏编程只使用运行时模块。

类别模块
RuntimeCore
RuntimeCoreUObject
RuntimeEngine
RuntimeUMG
PluginsOnlineSubsystem

Core

类/结构体属性/方法功能
FMathMin()选择最小值。
TVector-三维向量。
TVectorRotation()将三维向量转换为四元数。
TVectorSize()计算当前向量长度。
TArray-动态数组。
TArrayTArray()UE的数组容器。
TArrayNum()该数组的含有的元素个数。
TRotator-旋转信息容器。
TRotatorYaw偏航角。
TRotationMatrix-没有平移的旋转矩阵。
TRotationMatrixGetUnitAxis()获取旋转矩阵中某个轴的单位长度。
TSharedPtr-共享指针。
TSharedPtrIsValid()检查这个共享指针是否指向一个对象,而不是空的。
TSharedPtrToSharedRef()将共享指针变为共享引用。
TObjectPtr-对象指针。
TObjectPtrGet()获取对象指针。

CoreUObject

类/结构体属性/方法功能
UObjectBaseGetGameInstance()获取当前游戏实例。
UObjectCreateDefaultSubobject()创建子组件。
UObjectGetWorld()获取该对象所在的关卡。
-Cast()安全转换类型。
-StaticClass()由UHT生成,表示当前自己创建的类。

Engine

类/结构体属性/方法功能
AActorPrimaryActorTick.bCanEverTick控制是否开启Tick。
AActorRootComponent根组件。
AActorBeginPlay()游戏开始时调用,比如,初始化。
AActorTick()每帧调用。
AActorSetRootComponent()设置Actor的根组件。
AActorGetWorld()获取此Actor所在的关卡实例。
AActorTakeDamage()使该Actor受伤。
AActorSetOwner()设置该Actor的拥有者。
AActorGetOwner()获取该Actor的拥有者。
AActorGetActorLocation()获取该Actor的位置。
AActorGetActorRotation()获取该Actor的旋转。
AActorGetActorScale()获取该Actor的缩放。
AActorAttachToComponent()将该Actor附加到基元组件的某个Socket。
AActorGetActorForwardVector()获取该Actor的X方向的单位向量。
AActorGetActorRightVector()获取该Actor的Y方向的单位向量。
AActorGetWorldTimerManager()获取该Actor所在关卡的时间管理器。
AActorGetVelocity()如果使用了移动组件,则返回速度向量。
APawnSetupPlayerInputComponent()绑定玩家输入。
APawnDetachFromControllerPendingDestroy()将该Pawn与其所属的控制器分离。
APawnGetController()获取该Pawn的控制器。
APawnAddControllerPitchInput()添加该Pawn所属的控制器的俯仰角。
APawnAddControllerYawInput()添加该Pawn所属的控制器的偏航角。
APawnAddMovementInput()添加该Pawn的移动。
APawnbUseControllerRotationYaw是否使用控制器控制该Pawn的偏航角。
APawnController控制当前Pawn的控制器。
APawnGetLocalRole()获取本地网络角色。
ACharacterGetMesh()获取到该角色的骨骼网格体组件。
ACharacterGetCapusleComponent()获取该角色的胶囊体组件。
ACharacterGetCharacterMovement()返回角色移动组件。
---
AControllerIsPlayerController()判断该控制器是不是玩家控制器。
AControllerGameHasEnded()游戏结束。
AControllerGetPawn()获取该控制器的Pawn。
AControllerGetPlayerViewPoint()返回Pawn的视口中心点和旋转,对于AI指眼睛,对于玩家指摄像机。
AControllerGetPlayerState()获取该控制器的玩家状态。
AControllerGetControlRotation()获取该控制器的旋转。
APlayerControllerRestartLevel()重启当前关卡。
APlayerControllerSetInputMode()设置该玩家的输入模式。
APlayerControllerSetShowMouseCursor()设置该玩家的光标可见性。
APlayerControllerClientTravel()将此客户端玩家传送到特定的IP地址。
AAIControllerRunBehaviorTree()执行行为树。
AAIControllerGetBlackboardComponent()获取到该Controller所使用的行为树的黑板。
AAIControllerLineOfSightTo()检测AI是否能看到某个Actor。
---
AGameModeBasePostLogin()玩家登录进入后调用。
AGameModeBaseLogout()玩家退出时调用。
AGameModeBaseGameState当前游戏状态。
AGameModeBasebUseSeamlessTravel是否开启无缝传送。
AGameStateBasePlayerArray所有玩家状态数组,包括服务端和客户端。
APlayerStateGetPlayerName()获取当前玩家状态的玩家名称。
---
UInputComponentBindAxis()输入绑定轴。
UInputComponentBindAction()输入绑定键。
UBrainComponentGetBlackboardComponent()获取该行为树的黑板。
UBrainComponentGetAIOwner()获取该行为树的拥有者AI控制器。
UBlackboardComponentSetValueAsVector()设置黑板上的向量值。
UBlackboardComponentSetValueAsObject()设置黑板上的对象值。
UBlackboardComponentClearValue()清除黑板上的某个Key。
UCharacterMovementComponentIsFalling()Character是否正在下落。
UCharacterMovementComponentGetCurrentAcceleration()返回当前Character的加速度。
UCharacterMovementComponentbOrientRotationToMovement是否旋转至加速度方向去移动。
USceneComponentSetupAttachment()将一个组件附加到另一个组件上,形成组件树。
---
USceneComponentGetRightVector获取该场景组件的Y方向向量。
USceneComponentGetForwardVector获取该场景组件的X方向向量。
USpringArmComponentSocketName弹簧臂末端的Socket。
USpringArmComponentTargetArmLength弹簧臂长度。
USpringArmComponentbUsePawnControlRotation是否使用Pawn控制弹簧臂的旋转。
UCameraComponentbUsePawnControlRotation是否使用Pawn控制相机的旋转。
---
UPrimitiveComponentSetCollisionEnabled设置该碰撞体是否启用。
UPrimitiveComponentSetSimulatePhysics该网格组件是否开启物理模拟。
UPrimitiveComponentOnComponentHit组件碰撞事件。
UPrimitiveComponentGetMass()获取网格组件的质量。
UPrimitiveComponentAddForce()对该基元组件施加力。
UPrimitiveComponentAddImpulse()对该基元组件施加脉冲力。
USkinnedMeshComponentHideBoneByName()根据名称隐藏骨骼。
---
UWorldLineTraceSingleByChanne()l使用特定通道发射一条射线,只检测第一个。
UWorldSpawnActor()在该关卡中生成一个Actor。
UWorldGetAuthGameMode()获取当前关卡的GameMode。
UWorldServerTravel()将服务器传送到新的关卡。
UWorldGetFirstPlayerController()获取该关卡中第一个玩家控制器。
UWorldGetFirstLocalPlayerFromController()通过玩家控制器获取到第一个有效的本地玩家。
---
ULocalPlayerGetPreferredUniqueNetId()获取该本地玩家唯一的网络ID。
---
UGameplayStaticsSpawnEmitterAttached()在Socket上附加特效,特效播放完毕后会自动销毁。
UGameplayStaticsSpawnSoundAttached()在Socket上附加音效,音效播放完毕后会自动销毁。
UGameplayStaticsSpawnEmitterAtLocation()在关卡中某个位置创建特效,特效播放完毕后会自动销毁。
UGameplayStaticsSpawnSoundAtLocation()在关卡中某个位置播放音效,音效播放完毕后会自动销毁。
UGameplayStaticsGetAllActorsOfClass()获取某个关卡的某个类型的所有Actor。
UGameplayStaticsGetPlayerPawn()通过索引获取某个关卡的玩家Pawn。
---
UGameInstanceGetSubsystem()获取指定类型的子系统。
UGameInstanceGetFirstLocalPlayerController()获取该关卡的第一个本地玩家的控制器。
---
UEngineAddOnScreenDebugMessage()在屏幕上打印字符。
---
UAnimInstanceNativeInitializeAnimation()动画蓝图初始化时调用。
UAnimInstanceNativeUpdateAnimation动画蓝图每帧调用。
UAnimInstanceTryGetPawnOwner()获取挂载该蓝图脚本的Pawn。
---
TActorRangeTActorRange()获取该关卡所有指定类型的Actor。
FTimerManagerSetTimer()延迟某段时间后执行某个操作。
FHitResultLocation击中位置。
FHitResultGetActor()击中的Actor。
FHitResultNormal击中的Actor的法线。
FCollisionQueryParamsAddIgnoredActor()添加碰撞忽视的Actor。
FInputModeUIOnlySetWidgetToFocus()聚焦的UI。
FInputModeUIOnlySetLockMouseToViewportBehavior()设置鼠标在该视口的表现。
FInputModeGameOnly-仅限游戏输入。

UMG

类/结构体属性/方法功能
UWidgetRemoveFromParent()从玩家视口上移除该UI。
UWidgetSetVisibility()设置UI可见性。
UWidget`SetIsEnabled()设置是否可用。
UTextBlockSetText()设置文本。
UUserWidgetAddToViewport将该UI添加到视口。
UUserWidgetInitialize()UI实例化时执行。
UUserWidgetNativeDeStruct()切换关卡时调用。
UUserWidgetSetIsFocusable()设置该UI是否可以被聚焦选中。
UButtonOnClicked按钮点击事件,可动态绑定回调函数。
-CreateWidget()创建一个UI。

AIModule

类/结构体属性/方法功能
UBTNodeNodeName该节点的名字。
UBTAuxiliaryNodeTickNode()该节点的行为每帧更新。
UBTService_BlackboardBaseGetSelectedBlackboardKey获取到该服务黑板中选择的Key。
UBTTaskNodeExecuteTask()执行任务。

OnlineSubsystem

类/结构体属性/方法功能
FOnlineSessionSessionSettings该会话的设置。
FOnlineSessionSearchbIsLanQuery是否开启局域网查询。
FOnlineSessionSearchMaxSearchResults最大查询会话的数量。
FOnlineSessionSearchQuerySettings查询会话的设置。
FOnlineSessionSearchSearchResults会话查询的结果,一个数组。
FOnlineSessionSettingsGet()获取到定义在该会话设置中的键值对。
FOnlineSessionSettingsSet()使用键值对定义会话设置。
FOnlineSessionSettingsbIsLANMatch该会话是否开启局域网连接。
FOnlineSessionSettingsNumPublicConnections公开的最大可以连接的数量。
FOnlineSessionSettingsbAllowJoinInProgress是否允许在游戏过程中加入。
FOnlineSessionSettingsbAllowJoinViaPresence是否允许玩家加入。
FOnlineSessionSettingsbShouldAdvertise是否在服务器上公开广播。
FOnlineSessionSettingsbUsesPresence是否显示用户状态信息。
FOnlineSessionSettingsbUseLobbiesIfAvailable如果平台支持大厅,是否使用。
FOnlineSessionSettingsBuildUniqueId是否可以查询到其他玩家开的房间。
FOnlineSessionSearchResultSession查询到结果中的会话。
IOnlineSubsystemGet()获取网络子系统。
IOnlineSubsystemGetSessionInterface()获取管理服务器会话的接口。
IOnlineSubsystemGetSubsystemName()获取网络子系统名称。
IOnlineSessionGetResolvedConnectString()解析特定平台的加入会话的地址。
IOnlineSessionCreateSession()创建一个会话。
IOnlineSessionFindSessions()查询会话。
IOnlineSessionJoinSession()加入会话。
IOnlineSessionDestroySession()销毁会话。
IOnlineSessionGetNamedSession查找指定名字的会话。
IOnlineSessionAddOnCreateSessionCompleteDelegate_Handle()添加会话创建完成时广播的委托。
IOnlineSessionClearOnCreateSessionCompleteDelegate_Handle()删除已经添加的委托。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-木水水-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值