UE4/UE5 GamePlay 入门
文章平均质量分 61
介绍 UE4/UE5引擎 GamePlay 入门相关技术总结。
带帯大师兄
图形编程,C++,UE4/UE5,Directx11/Directx12/Vulkan
展开
-
(UE4 4.20)UE4 UCLASS,UENUM, USTRUCT, UPROPERTY 的 常用配置
总结下我在项目中 “UCLASS,UENUM, USTRUCT, UPROPERTY”的常用配置, 持续更新UCLASS meta=(BlueprintSpawnableComponent)让一个ActorComponent变为蓝图可挂载组件UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) )cl...原创 2018-12-28 00:19:20 · 5883 阅读 · 1 评论 -
(UE4 4.20)UE4 碰撞(Collision)之光线检测(RayTrace )
在游戏中我们经常用到光线检测(RayTrace),也就是直线与物体相交,获取相交的对象和相交的位置等等。UE4中 "KismetSystemLibrary.h"和 "Wolrd.h"提供了几个有关光线检测(RayTrace)的接口,这一节只要介绍和 “KismetSystemLibrary”里面的 RayTrace 接口。 KismetSystemLibrary的RayTrace接口...原创 2019-01-10 00:06:48 · 5829 阅读 · 0 评论 -
(UE4 4.21 ) UE4模块配置的总结
自定义模块在开发游戏项目中我们有时候需要自定义多个模块,把代码分为几个模块,比如仅仅是客户端执行的,仅仅是服务器端执行的,又或者服务器和客户端共同执行的。(可能你也会这样分,战斗系统的为一个模块,休闲系统为一个模块等等)下面我们在MyProject2项目自定义一个Client模块在Source下增加一个Client文件夹,里面存在Client.h,Client.cpp, Clien...原创 2019-05-09 00:42:39 · 3833 阅读 · 0 评论 -
(UE4 4.20)UE4的基本的服务器API接口,同步,广播,
UE4基本的设置服务器相关APIAActor的网络设置Replicates是代表了Actor是否具备网络连接的功能(是否与服务器连接在一起,有网络连接才能进行“同步”和“广播")C++代码就是bReplicates = true;UActorComponent的网络设置Component Replicates代表了一个ActorComponent是否与网络连接一起...原创 2018-12-16 16:33:51 · 3829 阅读 · 0 评论 -
(UE4 4.20)UE4同步加载和异步加载UObject ----------LoadObject,LoadClass,FStreamableManager
资源分类这里我将UE4资源划分为两种:蓝图类资源,也就是BlueprintClass,继承于UObject并且蓝图化的资源,如下所示:非蓝图类资源:UTexture,UStaticMesh,UParticleSystem,UMaterialInterface这些资源:如纹理,粒子,静态网格,材质等等,下图所示:LoadClass (同步加载蓝图类资源为UClass*)...原创 2018-11-25 02:04:40 · 13159 阅读 · 0 评论 -
(UE4 4.20)UE4的全局单例模式Singleton(变量在切换关卡时不被GC)
UE4开发中,很多对象在切换关卡中,伴随定义在Actor的各种对象伴随着Actor的消亡也被GC掉了。比如在我们AMyCharacter里定义各种UObject变量,等切换关卡时,我们的Character销毁了,于是里面的各种UObject也跟着消亡被GC了。那么我们如果需要一些数据在游戏中全局存在,得怎么办呢?一般两种方式:(1)在MyGameInstance定义的对象, 切换关卡的时候...原创 2018-12-05 00:58:00 · 7277 阅读 · 8 评论 -
(UE4 4.20)UE4的委托(Delegate)使用
委托有点类似函数指针,UE4定义了一大堆的委托方便我们的使用在DelegateCombinations.h文件中的定义了各种委托#define DECLARE_DELEGATE( DelegateName ) FUNC_DECLARE_DELEGATE( DelegateName, void )#define DECLARE_MULTICAST_DELEGATE( DelegateNa...原创 2018-12-08 17:01:12 · 16781 阅读 · 2 评论 -
(UE4 4.20)UE4的UObject,UActorComponent,AActor的Tick函数
UObject的TickUE4中原生的UObject并不支持Tick函数,得继承FTickableGameObject才可以,代码示例如下: #pragma once#include "CoreMinimal.h"#include "UObject/NoExportTypes.h"#include "Tickable.h"#include "TickObject.g...原创 2018-12-06 23:57:33 · 3043 阅读 · 0 评论 -
(UE4 4.20 )UE4的GC(垃圾回收)编程规范
UObject系统的GCUPROPERTY 引用当我们在一个UObject类声明各种继承UObject的 变量时,得加UPROPERTY(), 这个可以让UE4帮我们自动管理UObject的垃圾回收(引用计数)。UPROPERTY不仅仅用于反射变量到编辑器上编辑,也涉及UObject变量的GC。如下面所示:UCLASS(config=Game)class AMyProje......原创 2019-01-12 14:21:56 · 10428 阅读 · 6 评论 -
(UE4 4.20)UE4 FSoftObjectPath,FSoftClassPath,FSoftObjectPtr,TSoftObjectPtr,TSoftClassPtr,TSubclassOf
FSoftObjectPath,FSoftClassPath,FSoftObjectPtr,TSoftObjectPtr,TSoftClassPtr在UE4 4.18之后的使用变动在UE4 4.18版本之前,资源的路径软引用采用的FStringAssetReference,FStringClassReference,FAssetPtr,TAssetPtr,TAssetSubclas...原创 2018-12-09 23:29:25 · 8810 阅读 · 1 评论 -
(UE4 4.20)UE4的Actor添加,删除ActorComponent
Actor添加ActorComponent总结Actor添加组件(ActorComponent)的常用三种方式:[1] 在蓝图编辑器中直接添加[2] 在Actor构造函数中创建添加[3] 在游戏运行时(GameRunTime)进行添加[1][2]方式相当于在编辑器层面预先添加组件,[3]是游戏运行时的层面上添加组件编辑器直接添加不过C++创建的ActorCom...原创 2018-12-12 00:36:33 · 12221 阅读 · 0 评论