UE4学习
文章平均质量分 67
游戏鸟
这个作者很懒,什么都没留下…
展开
-
UE4编辑器属性的显示与隐藏
Intro#UPROPERTIESin Unreal Engine have a bunch of usefulMeta-data Specifierswhich can be applied to add additional validation and functionality. This blog post explains how to use theEditCondition(andEditConditionHides) specifiers to selectively s...转载 2021-04-30 11:14:19 · 3582 阅读 · 0 评论 -
UE4C++读取设置蓝图变量(备忘)
读取:bool UShooterFunctions::GetFloatByName(UObject * Target, FName VarName, float &outFloat){if (Target) //make sure Target was set in blueprints. {float FoundFloat;UFloatProperty* FloatProp = FindField<UFloatPrope...原创 2021-04-16 16:16:46 · 2623 阅读 · 1 评论 -
关于UE4的各种资源包和路径ObjectPath PackageName PackagePath AssetName(备忘)
ObjectPath:: /Game/AssetName.AssetName. PackageName: /Game/AssetName PackagePath:/Game AssetName:AssetName.原创 2020-11-13 14:36:49 · 3258 阅读 · 1 评论 -
UE4通过类名符串和函数名字符串调用函数
UPROPERTY() FACTION_DATA CurActionData; UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName = "播放完成回调类(不要A,U前缀如Actor非AActor)") FString ClassName; UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName = "播放完成回调函数") FName CallBackUFunction;F...原创 2020-06-11 16:34:59 · 1722 阅读 · 0 评论 -
UE4纯C++黑板Blackboard键添加(备忘
FindObject<UEnum>(ANY_PACKAGE, *FString("EEnemyAIState"), true)原创 2020-05-29 14:39:10 · 1339 阅读 · 0 评论 -
UE4 URPOPERTY限制变量最大max最小值min值
UPROPERTY(EditAnywhere, Category = "Call", meta = (ClampMin=0,ClampMax=10)) uint8 CallNum= 3;更多URPOPERTY完全详解参考:https://blog.csdn.net/qq_22159557/article/details/81137933挺棒的笔记,很多UPROPERTY中不常用的标记也有,赞博主。...原创 2020-05-14 14:46:50 · 3429 阅读 · 0 评论 -
UE4 C++利用函数名调用UFUNCTION函数
对于纯蓝图定义的函数可以使用函数UObject中的 virtual void ProcessEvent( UFunction* Function, void* Parameters )进行调用比如蓝图终定义了BP_Func()可在C++代码中这样调用:ProcessEvent(FindFunctionChecked(FName("BP_Func"),NULL);第二...原创 2020-07-11 17:14:37 · 2925 阅读 · 0 评论 -
UE4 的 USTRUCT()垃圾回收问题
分为两类1.被UPROPERTY标记的USTRUCT或者被UPROPERTY标记的TArray可以被垃圾回收的2.函数内自己动态new的USTRUCT需要你自己管理释放,UE4不会帮你释放。参考资料:1.https://www.ue4community.wiki/Legacy/Structs,_USTRUCTS(),_They%27re_Awesome#Garbage_Col...原创 2020-04-29 10:40:37 · 3652 阅读 · 0 评论 -
UE4遍历枚举
UE4遍历枚举方式UEnum*MyEnum=StaticEnum<MyEnumType>();for(int32 i;i<MyEnum->NumEnums()-1;i++){ MyEnumType(MyEnum->GetValueByIndex(i));}GetValueByIndex获取的值为int64,需要转为你枚举定义的类型。...原创 2020-04-02 09:57:16 · 2549 阅读 · 2 评论 -
ue4显示鼠标
原创 2016-08-24 15:22:12 · 3290 阅读 · 0 评论 -
[UE4]C++实现动态加载的问题:LoadClass<T>()和LoadObject<T>() (备忘)
C++静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder() http://aigo.iteye.com/blog/2281373C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例http://aigo.iteye.com/blog/2268056 动态加载UObject和动态加...转载 2018-05-31 14:09:18 · 11101 阅读 · 0 评论 -
UE4 C++ SpawnActor产生带参构造函数Actor示例
一般UE4里我们产生Actor使用SpawnActor来产生实例比如:SpawnActor(Actor::StaticClass(),FTransform(),FActorSpawnParameters());但是这种只适用于默认构造函数的情形,当我们需要使用带参构造函数传参数进去时这种方法就不适用了。此时需要UGameplayStatics::BeginDeferredActorSpawnFro...原创 2018-06-07 16:00:17 · 9234 阅读 · 7 评论 -
UE4文件及路径类库使用总结
感谢博主,原博地址:https://blog.csdn.net/qq_35221523/article/details/80462176一直在研究虚幻的插件,期间碰到许多诸如文件操作,路径操作等问题,总结记录一下。环境:UE4版本4.19.2+Win10+VS2017。文件操作类(一):IPlatformFile//实例化IPlatformFile对象IPlatformFile...转载 2018-08-22 15:48:00 · 6353 阅读 · 1 评论 -
UE4摄像机系统解析
一.摄像机工作原理在游戏中,摄像机是玩家的眼睛,他控制了玩家的视点(POV即PointOfView,后面简称POV)位置以及玩家的视野大小(FOV即FieldOfView,后面简称FOV)。一句话,摄像机决定了我们去观察这个游戏世界。游戏的类型多种多样,有第一人称的FPS游戏,有第三人称的动作游戏,还有需要统筹全局来观察的RTS游戏。简单来说,第一人称就是把POV放在人眼睛的位置,第三人称...转载 2018-09-21 10:37:56 · 2366 阅读 · 0 评论 -
升级UE4项目VS版本
原本项目用的是VS2015,后来要升级到VS2017,也尝试了在UE4编辑器中进行设置vs版本,重新生成VS项目后仍旧是2015的,但是没什么效果。后来找到这个方法,用以下CMD命令行来重新生成vs项目D:/UnrealEngine-4.17.1-release/Engine/Binaries/DotNET/UnrealBuildTool.exe -projectfiles -pr...原创 2019-04-09 16:07:20 · 3066 阅读 · 0 评论 -
UE4笔记---C++加载BP蓝图及C++BP蓝图文件并创建UUserWidget对象
UE4笔记---C++加载BP蓝图及C++BP蓝图文件并创建UUserWidget对象// 加载BP蓝图文件并创建 UUserWidgetUUserWidget* UserWidget = nullptr;TSubclassOf<UUserWidget> WidgetClass = LoadClass<UUserWidget>(this, TEXT("/Game/B...转载 2019-07-17 10:37:12 · 1778 阅读 · 0 评论 -
UE4编辑器扩展踩坑血泪史
转载自:https://segmentfault.com/a/1190000018367388俗话说的好,一流程序写架构,三流程序写UI。可是在游戏开发过程中,特别是引擎和工具链开发的时候,UI是绕不过去的坑,UE4现在是各大厂越来越流行了,各种工具层出不穷,可是和unity相比,Slate UI做编辑器扩展和插件的时候,难度不是大了一个level,最为关键的是,UE4的编辑器埋藏了无数的暗坑...转载 2019-07-23 14:47:47 · 7322 阅读 · 0 评论 -
UE4入门-常见基本数据类型-字符串(备忘)
原文地址:https://blog.csdn.net/u012793104/article/details/78470388字符串FNameFName 通过一个轻型系统使用字符串。在此系统中,特定字符串即使会被重复使用,在数据表中也只存储一次。FNames 不区分大小写。它们为不可变,无法被操作。FNames 的存储系统和静态特性决定了通过键进行 FNames 的查找和访问速度较快。FNa...转载 2019-08-09 10:39:08 · 3289 阅读 · 0 评论 -
UE4原生内置多人语音聊天
一.创建会话1.创建 创建服务器和加入服务器的UI2.实现创建会话和加入会话的功能(1)创建会话功能(2)加入会话功能二.配置文件设置1.DefaultEngine.ini文件配置(1)在[OnlineSubsystem]下的bHasVoiceEnabled需要设置为true[OnlineSubsyste...原创 2019-09-18 14:27:19 · 8547 阅读 · 17 评论 -
UE4的UE_LOG
原博地址:https://www.cnblogs.com/blueroses/p/6037981.html说明:本文为Wiki上的RAMA大神文章的大致翻译游戏模式:在游戏模式下,你需要在游戏的快捷方式后面加 -Log,才会在游戏中显示。 编辑器模式(Play In Editor):你可以在Output窗口中看到log信息。如果想在游戏中看到转载 2018-02-02 11:57:50 · 2955 阅读 · 0 评论 -
UE4时间相关函数
原博地址:https://blog.ch-wind.com/ue4-time-mange/在进行游戏构建时,我们通常会用到和时间相关的逻辑,在此稍微做下小结。当前UE4版本为4.15。基本上游戏引擎都是以Tick为中心运转的,表现在玩家面前就是帧率了,UE4也是如此。Ticktick是引擎的心跳,引擎中很多逻辑就是借助的tick机制自动注册的,例如UMG的动转载 2018-02-02 11:55:17 · 11849 阅读 · 0 评论 -
UE4项目工程的目录结构
根目录Engine -包含了所有源代码,内容等,它们组成了整个引擎。Templates -在创建新项目 时的可用项目模板集合。GenerateProjectFiles.bat - 用来创建在Visual Studio中运行引擎和您的游戏所需的虚幻引擎4解决方案和项目文件。 请参照项目文件自动生成 获得更多详情。UE4Games.uprojectd原创 2016-11-28 19:23:10 · 17546 阅读 · 0 评论 -
UE4入门与精通
由于目前在使用UE4引擎,多少也有一些心得,比如在日常使用中会遇到一些问题、坑(潜规则)或者一些使用技巧等。本人决定开一个大坑,主要有两个目的:一是可以自己做个记录,二是可以给大家提供一些参考吧。主要包括两部分,第一部分主要是UE4的使用,这里面应该主要是我平常开发中遇到的问题,或者一些技巧等。第二部分主要是对UE4引擎部分源码或者架构的解读,当然这部分比较难写,因为它的代码量实在是太多,很难在较转载 2016-10-26 15:21:59 · 1592 阅读 · 0 评论 -
ue4 创建c++工程失败解决方案
最近开始学习UE4,创建c++工程的时候,发现在生产代码的时候,总会报错,折腾了好久,搜索很多,在ue论坛一个帖子中找到方法才解决。我的环境是win10 ,UE4的引擎版本是4.11.2先卸载以前安装的vs2015(下面外国友人提供了如何完整卸载vs2015的方法)不用要vs2015 update3的版本,下载vs2015版本就行了安装vs2015的时候,进转载 2016-09-26 10:50:28 · 10127 阅读 · 1 评论 -
UE4中自定义碰撞形状和unity3D的区别
U3D中使用自定义形状碰撞体比较简单,直接添加MeshCollider组件,指定碰撞装形状mesh就行UE4中添加自定义碰撞形状则区别较大1.美术制作时对于需要碰撞形状需要特殊命名,而且碰撞形状和目标网格要在一个场景中。如图1为目标显示网格,2为碰撞轮廓(为了视觉区别比较明显在MAYA中将轮廓网格显示为网格模式)比如网格的名字是pCube1则碰撞形状网格命名为UCX_pCu原创 2016-09-08 17:33:32 · 7280 阅读 · 0 评论 -
UE4中资源加载资源的方式
在UNITY中,我们加载资源一般是通过Resources.Load(path).即可完成.该方法返回的是Object类型.如果你想要的是材质或者贴图等等,只要价格类型转换的关键字就可以了例如 as Material,则可以返回一个材质的引用...在UE4中,加载资源的方式区别较大.经过自己一个下午的摸索,目前发现了这4种资源的加载方式.在UE4中,它的蓝图就大致等于UNTIY中的prefa转载 2016-10-09 11:41:06 · 13434 阅读 · 0 评论 -
UFUNCTION
函数声明UE4中有两种函数, 一种是传统的C++函数, 一种是UFunction. UFunction通过加入一些描述符来支持一些特殊功能UFUNCTION([specifier, specifier, ...], [meta(key=value, key=value, ...)])ReturnType FunctionName([Parameter, Parameter, ..转载 2016-09-13 15:18:23 · 1126 阅读 · 0 评论 -
UE4反射机制UCLASS() USTRUCT() GENERATED_BODY() UPROPERTY() UFUNCTION()
建议看看官方完整元API链接:https://docs.unrealengine.com/latest/CHN/Programming/Introduction/index.html游戏性类使用特殊的标记。因此在开始了解它们之前,我们有必要了解虚幻属性系统的一些基础知识。UE4 使用其自身的反射实现,可启用动态功能,如垃圾回收、序列化、网络复制和蓝图/C++ 通信。这些功能为选择加入,意味转载 2016-09-12 17:20:54 · 9937 阅读 · 0 评论 -
UE4 C++的 GENERATED_BODY()和GENERATED_UCLASS_BODY()的区别
GENERATED_BODY标识的类的成员默认是private的,GENERATED_BODY标识的类需要声明无参数的构造函数,GENERATED_UCLASS_BODY可以不声明构造函数(如果要实现构造函数需要加上const FObjectInitializer& ObjectInitializer参数)...原创 2016-09-12 11:14:27 · 10242 阅读 · 2 评论 -
UE4中自定义的碰撞几何体使用注意事项
简单的碰撞几何体对于优化游戏中的碰撞检测是很重要的。虚幻引擎4在 静态网格物体编辑器 中提供了创建碰撞几何体的基本工具。但是,某些时候,最好还是通过在您的3D建模应用程序中创建自定义的碰撞几何体然后再将其随同渲染网格物体导出来进行处理。一般,这适用于任何不需要和具有开放区域或凹陷区域的网格物体进行碰撞的对象。比如:Doorway(门口)网格物体具有窗框的墙壁。原创 2016-11-30 17:22:04 · 21723 阅读 · 1 评论 -
UE4利用骨骼实现头发摆动(马尾)效果遇见的问题
本解决方案是看了youtube上以为国外大神的解决方案附上原址:https://www.youtube.com/watch?v=Jq0pB2Um_pA&noredirect=1视频图不能访问外网的也可以在此地下载链接: https://pan.baidu.com/s/1slvkag1 密码: 6yts按案例做和审图扩展头发与身体碰撞的时候遇到了一些问题如下1.勾选Simul原创 2016-09-08 15:01:15 · 8972 阅读 · 2 评论 -
Epic Games Launcher启动器添加识别本地UE4引擎
Epic Games Launcher识别本地引擎文件1.打开Epic Games Launcher点击添加新版本UE_4.14,会创建UE_4.14文件夹并下载。2.停止下载,拷贝你已经下载好的虚幻4版本到Launcher目录,比如“D:\Program Files (x86)\Epic Games”3.点击继续下载。...原创 2016-12-14 15:10:23 · 28712 阅读 · 4 评论 -
PhysX APEX布料导入UE4中碰撞体失效的问题
关布料中的碰撞体(布娃娃)失效的问题困扰了很久,没办法只能用最笨的方法,从0开始加。加一个导UE4试试,然后再加,一个一个试。当测试碰撞体数大于16个时发现问题了,当一个布料文件中超过16个就会出现碰撞体失效的情况,但我老大说官网说是最多32个,但测试的结果确实是16个。比如我加了第17个,第17个有效的话,前16个中某一个就会失效。超过的的越多失效的越多,但不一定是一对一的关系。比如我做原创 2016-11-15 17:25:24 · 6875 阅读 · 6 评论 -
通过优化在UE4中实现良好性能和高质量视觉效果
对于任何追求UE4性能最佳、同时又想保持极高质量视觉效果的人来说,本文有一些可遵循的一般性建议和原则。 局限性为了性能,你通常受CPU时间(通常和游戏设置相关)和GPU时间限制(渲染场景花费的时间)。CPU创建由GPU渲染的场景会耗费一些时间。通常情况下,当你发现游戏的运行速度不像你想要的那么快时,第一步是找出你现在受以上哪个环节的约束,然后确定需要修改的资源或设置转载 2017-11-01 15:44:08 · 14742 阅读 · 0 评论 -
UE4中的事件调度器及C++中的使用
事件调度器非常的适合在各个蓝图之间实现通信功能。当前UE4版本4.8.3。在蓝图中,事件调度器的作用就像是事件的派发器。通过将事件预先的绑定在事件调度器上,可以让系统可以在需要时将事件派发给所有已经绑定的事件。事件调度器的使用一个比较常见的使用事件调度器的地方,就是关卡蓝图。关卡蓝图中的很多物体的Actor及其逻辑,如果要脱离关卡蓝图的话会比较难于使用。因此转载 2017-04-24 14:25:25 · 4794 阅读 · 0 评论 -
UE4中蓝图转换成C++代码
1.进行如下设置2.将项目打包出来(任意一平台都行,本文以Windows为例)3.打包完成后才回在原项目工程中生成蓝图转换成c++的代码4.如图路径(转换后的代码路径较深所以一步一步说明)C_SourceCode是我建立UE4的项目名Intermediate文件夹内是转化后的代码WindowsNoEditor 是本文之前说的打包的是windows平台原创 2016-09-29 14:22:45 · 23964 阅读 · 7 评论 -
UE4实现向鼠标点击处发射射线
UE4实现向鼠标点击处发射射线原创 2016-08-24 15:16:06 · 11195 阅读 · 0 评论 -
UE4 The global shader cache file missing 运行错误解决办法
UE4项目在VS中对项目代码编译时报如错,找了好久在UE4论坛上查到了别人的解决方案,贴出来仅供大家参考。看到一位开发者解释出错的原因如下:There are a number of build configurations available to you, but it helps to think of them as two parts, a "State" and a原创 2017-03-17 11:42:52 · 18043 阅读 · 5 评论 -
UE4启动丢失VCRUNTIME140.dll错误解决
注意自己系统是32位还是64位的,下载对应版本。然后进行安装后重启UE4即可。64位的vc++2015http://www.paopaoche.net/psp/162059.html32位的vc++2015http://dl.pconline.com.cn/download/423172.html原创 2017-02-16 16:20:08 · 11766 阅读 · 0 评论 -
PhysX APEX Clothing中Clothing碰撞体(shape clothing)的使用
APEX Clothing中Clothing碰撞体的使用1.关于ClothingShape碰撞体Clothing Shape类型的碰撞体是专门为布料解算设计的,只在Physx3X的版本中可用,2X的版本中是没有的。它的碰撞轮廓是流线型的,碰撞效果比单一的球形或胶囊体的碰撞体更加流畅和精确。2. ClothingShape的使用2.1 ClothingShape关键属性原创 2017-01-08 14:37:22 · 3436 阅读 · 0 评论