
UE4
文章平均质量分 53
过期的码农
- -
展开
-
FPaths 缓存路径等
FPaths分享:句法类FPaths备注助手的路径检索游戏目录,引擎目录等。功能 名称描述 一个fstring AutomationDir()自动化保存文件原创 2016-11-16 10:31:22 · 2125 阅读 · 0 评论 -
UE4 教程地址
https://zhuanlan.zhihu.com/insideue4?topic=%E8%99%9A%E5%B9%BB%E5%BC%95%E6%93%8E原创 2016-11-29 10:32:55 · 679 阅读 · 0 评论 -
C++类创建以后需要UBT加入工程。Mac
一般来说都是在Editor中 add new c++,这样加完后会自动加入到vs工程中并编译自动生成 XXX.generated.h 头文件。 也可以手动创建c++的XXX.h 和XXX.cpp,然后使用UBT直接加入vs工程中,然后编译生成XXX.generated.h 头文件。 (ps:#inclued “XXX.generated.h”编译前是不存在的,但是也要加入到XXX.h中)转载 2016-11-16 11:23:06 · 537 阅读 · 0 评论 -
UE4AI和行为树(Blueprint)
UE4AI和行为树(Blueprint)简单目标:指定一个TargetLocation(Vector),让ai对象执行MoveTo任务后执行Atk任务(下图极其重要) 创建AI和行为树中需要用到的蓝图类 在Blackboard中创建共享数据key 编辑AIController,指定Blackboard和Beha转载 2016-11-12 20:51:26 · 1504 阅读 · 0 评论 -
使用行为树(Behavior Tree)实现游戏AI
注意:本文版权归Csdn AKara所有,此处纯粹转载,如有再转,请严格按如下方式显示标明原创作者及出处,以示尊重!! 原创题目:使用行为树(Behavior Tree)实现游戏AI原创作者: AKara发布日期:2010-12-09 作者Bolg: http://blog.youkuaiyun.com/akara原文出处: http://blog.youkuaiyun.com转载 2016-11-12 20:54:58 · 1149 阅读 · 0 评论 -
如何在C++中创建可被Blueprint调用的全局函数
继承蓝图函数库UBlueprintFunctionLibrary,实现保存文件到硬盘大概流程:1+创建一个C++类,继承自UBlueprintFunctionLibrary。这里需要注意一点,在编辑器中不能添加父类为UBlueprintFunctionLibrary的c++类. 所以需要先利用编辑器一个继承自任意类的c++类,之后在头文件中更改.2+UBlueprintFunction转载 2016-11-12 21:09:44 · 1763 阅读 · 2 评论 -
ue 逻辑状态机
逻辑状态机为了实现对目标状态的控制,以及广播改变状态后的事件,可在蓝图中继续处理不同状态下的行为。实现过程:1.继承ActorComponent实现LogicStateMachine;2.被击中时触发设置状态;3.状态进入/退出时触发事件。主要代码LogicStateMachine.h[cpp] view plain copy转载 2016-11-12 21:20:38 · 1115 阅读 · 0 评论 -
GameMode和GameState
引言上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIController。Actor的逻辑编写介绍完了,那么本篇,我们继续爬升,对于由Actors组成的Level这一层次,UE又是怎么控制的呢?对Level记不太清楚的朋友,可以翻回去查看“GamePlay架构(二)Leve转载 2016-11-16 21:14:46 · 2303 阅读 · 0 评论 -
UE4读取本地XML文件
其实这里读取XML也是利用了Tinyxml来读取xml,主要是讲Tinyxml放在UE4中,遇到的一点点坑1.先给出Tinyxml链接:http://www.grinninglizard.com/tinyxml/,可以下载他的工程2.用UE4新建一个C++工程,将下图的几个文件添加到UE4.的工程中3.并在tinyxml的cpp文件中添加本工程的头文件,比如这里转载 2016-11-23 16:52:18 · 1561 阅读 · 0 评论 -
[UE4] C++实现Delegate Event实例(例子、example、sample)
原文作者:@玄冬Wong转载请注明出处:http://aigo.iteye.com/blog/2301010 虽然官方doc上说Event的Binding方式跟Multi-Cast用法完全一样,Multi-Cast论坛上也有很多例子,但是实际是不一样。。而且论坛上找不到相关例子。后来看了下runtime/core的源码,Event的binging方式如下(附上完整步骤):转载 2016-11-17 22:38:26 · 1475 阅读 · 0 评论 -
【UE4学习】12_(XML)插件制作
http://blog.youkuaiyun.com/szu_it_man/article/details/52776448前言: 之前写plugin的时候,都是全手动创建添加文件,比如.uplugin是从txt改变扩展名而来,.cpp和.h 文件都是直接在VS里面手动添加,这无论对于初学者还是熟练者来说,都是一件相当麻烦的事。为此,在此写一个较容易上手的教程以供参考。本次转载 2016-11-30 17:46:08 · 873 阅读 · 0 评论 -
UE4使用第三方库
http://blog.youkuaiyun.com/lunweiwangxi3/article/details/48373033UE4使用第三方库就怕 辜负了所有的努力,也配不上自己的野心 ...现在,我就把虚幻引用第三方库并打包完成这个所有步骤,过程,细节都记录下来.第一步:先做一个库a.打开vs2013->新建项目->VC++空项目->项目名称:转载 2016-11-30 17:46:51 · 1951 阅读 · 2 评论 -
Mac下Boost环境搭建
Boost,一个功能强大、跨平台、开源而且免费的C++程序库,可以在其官网了解更多:http://www.boost.org,C++标准经过不断的升级完善,现在已经功能越来越吸引人了,Boost开发过程中也吸引了很多C++11新特性,从而更兼容C++的标准库了,这样,有什么理由不用它呢?虽然很多东西我们可以自己写,但是,借助功能稳定的库,可以提高生产力,节约程序员的时间,何乐不为?当然,并非让我们转载 2016-11-18 11:09:37 · 740 阅读 · 0 评论 -
ue4常用方法与技巧汇总
技巧1.快速使用Get型变量=按住Ctrl+从变量列表中拖动变量到界面2.快速使用Set型变量=按住Alt+从变量列表中拖动变量到界面3.线段中添加临时点=双击连线4.断开连线=右键某引脚、或Alt+鼠标左键5.区域注释=选中多个块,然后按C6.让共有变量变为蓝图小工具=细节>变量>显示3D控件7.快速添加分支=按住B+鼠标左键常用方法序号转载 2016-11-15 10:36:35 · 4069 阅读 · 0 评论 -
UE4 生成C++环境
在虚幻 4 中有个重要的不同:有时必须要手动的更新 Visual Studio 的项目文件(比如,下载了 UE4 的新版本,或者对源代码文件的磁盘存放位置做了人为改变)。可以通过在主菜单中点击 Refresh Visual Studio Project 或者在项目目录中 右键点击 .uproject 文件 并选择 Generate Visual Studio project files 便可。原创 2016-11-15 10:58:57 · 978 阅读 · 0 评论 -
UE4函数和属性说明符
Property Specifiers属性说明符When declaring properties, specifiers can be added to the declaration to control how the property behaves with various aspects of the engine and editor.当声明属性时,说明符可以被添转载 2016-11-15 11:23:47 · 969 阅读 · 0 评论 -
动画重定位(相同骨架)
https://docs.unrealengine.com/latest/CHN/Engine/Animation/AnimationRetargeting/index.html本页面的内容:为何使用重定位?重定位会影响性能吗?重定位的原理是怎样的?重定位如何处理最终效果器?设置重定位使用重定位源管理器动画重定位(相同骨架)是一种允许在共用相同骨架资产但原创 2016-11-15 14:33:34 · 1386 阅读 · 0 评论 -
[UE4]C++实现动态加载的问题:LoadClass<T>()和LoadObject<T>()
原文作者:@玄冬Wong 相关内容:C++静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder() http://aigo.iteye.com/blog/2281373C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例http://ai转载 2016-11-15 17:37:06 · 4051 阅读 · 0 评论 -
[UE4]C++静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder()
原文作者:@玄冬Wong 相关内容:C++实现动态加载的问题:LoadClass()和LoadObject() http://aigo.iteye.com/blog/2281558C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例http://aigo.iteye.com/blog/22680转载 2016-11-15 17:37:50 · 6440 阅读 · 0 评论 -
如何导出UE4的导航数据
目前引擎有一个命令行,输入 ExportNavigation 就可以导出这些数据。如果需要细节可以直接看下相应的代码:RecastNavMeshGenerator.cpp static class FNavigationGeomExec : private FSelfRegisteringExec { ... Generator->ExportNavigationData( FString::Pr转载 2016-12-01 16:37:06 · 3431 阅读 · 0 评论 -
UE4 加载actor方式
1ATemp* spawnActor = GetWorld()->SpawnActor(ATemp::StaticClass()); 2static ConstructorHelpers::FClassFinder bpClass(TEXT("/Game/BluePrint/TestObj")); if(bpClass.Class != NULL) {原创 2016-11-19 20:54:13 · 3845 阅读 · 0 评论 -
UE4 0014报错解决
点击确认!会初始化UE的编辑器原创 2016-11-20 10:33:50 · 1902 阅读 · 0 评论 -
UE4 内存管理
UObject gc机制1)TArray保持引用如果有个TArray容器,则这个TArray需要用一个UPROPERTY()去保持容器的引用,然后里面的UObject就不需要再去AddToRoot去阻止被gc了。 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "UCoolDownComponent")转载 2016-11-20 11:20:31 · 1493 阅读 · 1 评论 -
使用虚幻引擎中的C++导论
使用虚幻引擎中的C++导论(四)(终)第一,这篇是我翻译的虚幻4官网的新手编程教程,原文传送门,有的翻译不太好,但大体意思差不多,请支持我O(∩_∩)O谢谢。第二,某些细节操作,这篇文章省略了,如果有不懂的,去看其他教程。第三,没有C++编程经验,但有其他OOP语言经验的朋友。要先了解C++的基础。内存管理与垃圾回收在这一部分我们将学习虚幻4引擎基本的内存管理与垃圾回收。转载 2016-11-20 11:41:58 · 1359 阅读 · 0 评论 -
UE4高级功能--初探超大无缝地图的实现LevelStream
好吧,这次总结的还是UE4,在这里要向CE3的朋友们道一声歉,因为本人水品有限,对于CE3的探索学习陷入了一个非常大的瓶颈,暂时抽不出一块儿大的单独的时间去解决,另外,自己也有一点小小的私念,就是期盼Cryteck官方能够推出新的版本,至少能完善一下现在的文档,所以只能暂时把CE3搁置下来,但是我并不会放弃CE3,CE3对我来说,绝对是个非常大的挑战,我不会轻易放弃他的。 好了回归正题转载 2016-11-21 09:54:46 · 1728 阅读 · 0 评论 -
UE4AI和行为树(C++)
[+]用的是官网shooter示例项目,说一下c++里怎么用ai和行为树,源码也看过一下,比较复杂,以后有空会贴出了,同样也是visio画的流程图UE4AI和行为树(C++)UBTDecorator_xxx详解 AXXXAIController详解 Ashoot转载 2016-11-12 20:50:46 · 4334 阅读 · 0 评论 -
ue4插件开发
编写ue4插件1、直接从Editor中生成一个空的插件模板 然后最右下角 2、关掉vs,右键生成一下工程文件,把Plugins扫进去打开解决方案开始编写插件 瞧,插件加进来了 3、编写插件1- 首先把插件的配置文TestPlugin.uplugin件改一下(被这个坑了两天)这个LoadingPh转载 2016-11-21 21:30:49 · 1199 阅读 · 0 评论 -
UE4代码文件结构的正确配置
转载于[风之神韵老师 http://tieba.baidu.com/p/3177907400] UE4代码文件结构的正确配置昨天只做了一件事情,重新组织了源代码的文件结构。为什么想起来做这样一件事情,因为我发现在include头文件时,遇到了很多麻烦。比如,你写一个FTestClass类放到TestClass.h头文件转载 2016-11-21 21:33:11 · 888 阅读 · 0 评论 -
UE4 在游戏中使用Slate
在游戏中使用SlateSlate用户界面架构概述Slate控件可以用于在游戏中创建平头显示信息(HUD)或其他用户界面(UI)元素, 比如菜单。您一般可以创建一个或多个 容器 控件,每个容器可以包含几个其他类型的控件, 这些控件负责用户界面的特定方面。比如,您可能具有一个针对游戏HUD的总体控件,同时具有针对主菜单、 选项菜单、暂停菜单、记分转载 2016-11-21 21:52:07 · 1593 阅读 · 0 评论 -
Unreal Engine 4 —— 反射机制的实现
反射机制反射机制指的是程序可以在运行期间进行检测和修改自己状态的能力。UE4引擎使用C++语言编写,C++语言本质上不支持反射机制,但是UE4提供了反射机制的实现。FindFunction函数在UE4中提供了FindFunction函数,用于在UObject或者AActor中查找某个函数名的函数并且返回其函数指针。使用方法如下:UFunction *In转载 2016-11-22 09:51:52 · 992 阅读 · 0 评论 -
UE4的UI制作流程
UE4引擎编辑UI通常使用Widget Blueprint,HUD涵盖的面比Widget Blueprint更广,包含2D、3D和其他,使用c++进行编写,但做UI不如Widget Blueprint细致、功能多。 首先,在Content Browser里右键选择生成一个WidgetBlueprint,打开WidgetBlueprint,根据需求选用Image、Text、Pr转载 2016-11-22 10:23:33 · 7518 阅读 · 1 评论 -
[UE4]用UMG方式实现Character头顶显示3D血条
用Canvas 纯C++编码方式绘制血条(2D血条)http://aigo.iteye.com/blog/2275110 例子演示的功能是:在一个Character的头部上方显示一个血条 1,新建一个widget蓝图来制作血条 2,打开角色蓝图,在Components面板下新建一个Widget组件 3,还是在角色蓝图下转载 2016-11-22 10:24:13 · 6201 阅读 · 0 评论 -
UE4 异步资源加载
概述虚幻引擎4中有几个新系统,使得可以更加轻松地异步加载资源数据,这些系统代替了虚幻引擎3中的免搜索内容包中存在的很多功能。这些新方法既可以在开发数据应用也可以在设备上的烘焙数据上进行应用,所以您不必保留两个根据需要加载数据的代码路径。有两种通用的方法可以供您根据需要来引用及加载数据。FStringAssetReferences 和TAssetPtr美术师或设计师引用资源的转载 2016-11-22 20:17:35 · 1490 阅读 · 0 评论 -
tsubclassof 获取PlayerControllerClass 对象
TSubclassOf is a special template of UClass which only accepts specific subclasses of some base class. So it's still a UClass which is just a class specifier which you can spawn things from, but it do原创 2016-11-23 14:00:34 · 950 阅读 · 0 评论 -
UE4 解析json
版权声明:本文为博主cartzhang原创文章,未经博主允许不得转载。http://blog.youkuaiyun.com/cartzhang目录(?)[+]声明:所有权利保留。转载必须说明出处:http://blog.youkuaiyun.com/cartzhang/article/details/43794409Json的Writer博客地址:h转载 2016-12-06 10:25:49 · 5619 阅读 · 1 评论 -
UE4 创建自己的角色
首先,需要在UE4中设置自己需要输入的按键,点击工具栏的Settings/ProjectSettings,找到input,在Bindings下添加自己需要的输入按键,我这里绑定了JumpBtn、MoveForward、MoveRight、Turn、LookUp输入设置完毕后,就开始创建自己的主角控制器一、使用蓝图创建主角1.在UE4文件夹中,右键创建一个Blue原创 2016-11-23 16:50:30 · 1896 阅读 · 0 评论 -
UE4中的单映射:TMap容器
一、TMap是什么TMap是UE4中的一种关联容器,每个键都关联着一个值,形成了单映射关系。因此你可以通过键名来快速查找到值。此外,单映射要求每个键都是唯一的。二、创建和填充单映射如果你想创建一种单映射关系,每一个角色的名称对应着价格:TMap charaPrice;现在,让我们来添加角色名称和价格的单映射关系:charaPrice.Add("皮城执法官", 6300转载 2016-11-23 17:08:30 · 1645 阅读 · 0 评论 -
UE4中的集合:TSet容器
一、TSet是什么UE4中,除了TArray动态数组外,还提供了各种各样的模板容器。这一节,我们就介绍集合容器——TSet。类似于TArray,尖括号里面的T是模板类型,可以是任何C++类型。一个集合表示了一组互不重复的数据元素。比如TSet表示了一组float集合,TSet表示了一组FString集合。二、创建和填充集合因为这些容器在设计的时候考虑到一致性,所以后面你在学习各种各转载 2016-11-23 17:09:37 · 816 阅读 · 0 评论 -
UE4中的动态数组:TArray容器
为什么使用UE4提供的容器类?如果你用过C++的STL库,你就知道STL提供了各种各样的容器/数据结构,使得你对处理很多数据的时候非常快捷高效。UE4同样也提供了类似的库,库里面的类型是以T开头的,使用UE4提供的容器库可以更好地实现跨平台。所以在UE4进行开发的时候我们很少去使用STL容器,更多时候是使用UE4提供的容器。一、TArray是什么如果你学过C++的模板,你就知道转载 2016-11-23 17:11:01 · 4712 阅读 · 0 评论 -
在Unreal4中如何连接自定义服务器
UE4 dedicated server是一个很好的游戏服务器,但是对于大厅和聊天服务器来说,我们要自行开发,通过UE4的socket组建很方便的和其他服务器建立连接创建Socket FSocket* Socket = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_Stream, TEXT("def转载 2016-11-23 17:26:55 · 3004 阅读 · 0 评论