自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

原创 《UE4游戏开发》之 《CheatManager的使用》

介绍了基本使用及扩展方法以及功能职责https://www.yuque.com/flyingsnowgo/guouoi/pwz67p

2021-06-22 14:00:52 1507

原创 《UE4游戏开发》之 《TArray常用接口分析及例证》

https://www.yuque.com/flyingsnowgo/guouoi/wtdkb1

2021-06-17 17:15:13 358

原创 《UE4游戏开发》之 《UFUNCTION(exec)执行的全流程分析》

UFUNCTION(exec)执行的全流程分析

2021-06-16 18:39:25 696

原创 《UE4游戏开发》之 《UE4 GC编程》

TWeakObjectPtr1.1 声明:TWeakObjectPtr Owner;class TESTENGINE_API FTestGC : public FGCObject{public: TWeakObjectPtr<UObject> Owner; USkeletalMeshComponent* SkeletalMeshComponent; FTestGC();public: void InitComponent(); void PrintInfo();prot.

2021-05-19 16:39:53 470

原创 《UE4游戏开发》之 《了解UE4提供的并行函数接口》

源码位置:Engine\Source\Runtime\Core\Public\Async\ParallelFor.h源码声明:/** * General purpose parallel for that uses the taskgraph * @param Num; number of calls of Body; Body(0), Body(1)....Body(Num - 1) * @param Body; Function to call from multiple threads.

2021-04-14 15:24:30 807 1

原创 《UE4游戏开发》之 《如何获取启动时,设置的启动参数》

以PS设置启动参数为例:在这里插入图片描述2. 要在游戏中获取启动参数值,需要知道启动参数,保存的位置:2.1 需要了解【Engine\Source\Runtime\Core\Public\Misc\CommandLine.h】/** * Returns an edited version of the executable's command line * with the game name and certain other parameters removed * 获取.

2021-04-13 15:51:27 2699 3

原创 《UE4游戏开发》之 《UE4源码分析技巧总结》

如何快速查找类/结构体成员变量的赋值:直接搜索变量引用1.1 注意赋值变现:变量名 =1.2 ,变量名()、:变量名(),总结表现形式为: 变量名(PS:好处:注意特征,可以从茫茫查找信息中,快速注意到赋值地方如何快速查找类实例化的地方:2.1 先搜索【类名(】,如果没搜到,可能是模板实例化2.2 如果没搜到,则搜索【<类名】...

2021-04-13 15:26:21 403

原创 《UE4游戏开发》之 《线上崩溃定位之常用汇编指令》

**mov rbx,qword ptr [r13+150h]**说明:mov:传送指令MOV(Move)表示把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变rbx:是一个可用的寄存器,存放的数据是合法的,不涉及系统隐私。r13:寄存器R13常用作堆栈指针SP[r13+150h]:是把r13和150h相加,把这个相加后的数值,转化为一个地址,ptr:指针的缩写qword:2个字节就是1个Word(1个字,16位),q就是英文quad-这个词根(意思是4)的首字母,所以它自然.

2021-04-12 10:32:50 626

原创 《UE4游戏开发》之 《如何使用通过一句宏:定义声明变量,事件绑定和触发》

如何判断是否符合通过一句宏:定义变量、事件绑定和触发方法的情况:找不到变量定义:OnGameActivityActivationRequesguitedDelegates找不到触发方法的定义:TriggerOnGameActivityActivationRequestedDelegates()如何找到真正定义的位置通过找变量和触发方法的公共部分【OnGameActivityActivationRequested】,然后在引擎源码中搜索,发现DECLARE【声明关键词】,DEFINE【定义关键词】跳.

2021-02-27 11:05:42 396

原创 《UE4游戏开发》之 《加快编译速度的一些设置》

资料1:https://zhuanlan.zhihu.com/p/91623446资料2:https://zhuanlan.zhihu.com/p/83190575

2020-12-09 11:23:28 1546

原创 《UE4游戏开发》之 《环境音效和程序化设计学习》

音频文件需要16位,采样率可以任意选Ue4支持的音频格式:WAV【游戏中常用格式】,AIFF,FLAC,Ogg Vorbis格式,环绕声格式【Ambisonic文件】命名规范通过SizeMap功能可以查看资源在磁盘和内存的大小电子机械声音:20s或60秒大自然的声音:要长一些,具体跟游戏平台和内存预算相关如何限制音效在一个区域内能听见:添加衰减效果禁用声源空间化:可以是玩家走到哪里都能听到声音,而不是从特定的声源播放该设置消耗性能大,注意合理使用,其效果..

2020-12-04 19:59:02 697

原创 bat 批处理记录

cmd窗口乱码:在批处理中添加==>chcp 65001【表示编码格式为utf-8】

2020-11-21 13:30:07 176

原创 Python常用知识及函数封装

设置python文件的编码格式:# -- coding: UTF-8 --获取当前python文件所在目录:import oscurdir = os.getcwd()print(curdir)复制文件夹下的所有子文件夹及文件到指定目录:import osimport shutildef copyFilesSrcDirtoDestDir(srcDir,destDir): print("-----") for root, dirName,filesName in os.walk(.

2020-11-21 13:20:21 158

原创 《UE4游戏开发》之 《音频和语音切换不成功原因》

首先考虑GameUserSettings.ini的读写是否正确,即有没有把切换写进GameUserSettings.ini;还有就是在读取的时候,是否读正确;验证是否读正确的方式:在FConfigCacheIni::InitializeConfigSystem中打断点,查看GConfig的值对比ini验证是否与GameUserSettings.ini一致可能导致GameUserSettings.ini读取不正确的原因:看源码读取优先是从pak包读取,如果pak包没有,会从非pak包读取,所以如果把Ga.

2020-11-18 13:41:24 491

原创 UE4 有用链接整理

ue4 游戏开发者笔记:https://bebylon.dev/ue4guide/

2020-10-21 17:54:05 286

原创 《UE4游戏开发》之 《查cook资源失败,问题记录》

当项目打包时,cook出错,但是从原始引擎提供的信息中,没有提示具体的那个资源出错,要查到出错资源,还是非常麻烦。下面就材质cook出错,增加一些日志,方便查找问题做简单记录材质cook的一个阶段,是收集MaterialShaderMap,如果在这个阶段收集的信息出错,将会在FShaderMapContent::GetOutdatedTypes函数中,因为Shaders指针指向的内存有问题而出错,通过断点发现,FShaderMapContent这个类对象指针为null,而这个类对象的来源于AllMat.

2020-10-19 16:06:31 2005

原创 ue4 源码 ini设置保存位置

改变配置,ue4优先存储的位置E:\UnrealEngine-release\Engine\Saved\Config\Windows【平台名字】\源码访问的偏好设置存于EditorSettings.ini section名字[/Script/SourceCodeAccess.SourceCodeAccessSettings]键值对:PreferredAccessor=VisualStudio2019【举个例子】如果想多平台设置同一个PreferredAccessor,可以在Config/BaseEdi.

2020-10-14 18:44:35 870

原创 《UE4游戏开发》之 《BuildGraph添加ModifyDirectoryConfig Task》

1.Engine\Build\Graph\Schema.xsd,里面定义了复杂类型【complexType】,每种复杂类型【类型中定义了if、foreach和do等逻辑必要类型,意味着可以在xml中添加一些逻辑处理】,可以进行相互嵌套【在嵌套中xs:element/标签标识,指定名字和类型】,而基础类型的实现是在Engine\Source\Programs\AutomationTool\BuildGraph\Tasks中,Schema.xsd定义的类型是在xml中使用,Engine\Build\Instal

2020-10-10 18:00:50 626

原创 《UE4游戏开发》之 《声音资产本地化》

1.声音资源本地化如何设置:1.1选择导入的默认声音资源,鼠标右键,弹出右键界面1.2在右键界面中,鼠标移到【AssetLocalizations】打开二级菜单1.3二级菜单,提供了创建、查找、编辑本地资源,每种资源都对应一种语言1.4本截图是创建法语声音资源2.当创建法语声音资源后,ue4会自动跳转至资源目录3.注意默认打开ue4 editor后,本地化资源文件是不显示的,即【L10N】文件默认是不显示的,打开方式:3.1 鼠标单击【View Options】,打开菜单3.2 勾选【S

2020-09-23 17:32:24 611

原创 搭建VSCode与UE4的开发环境

1.参考:https://zhuanlan.zhihu.com/p/104396901基本环境搭建2.额外插件:Unreal Engine 4 Helper对宏的支持3.参考:https://zhuanlan.zhihu.com/p/99462672一些有用的插件推荐4.参考:https://zhuanlan.zhihu.com/p/96819625插件推荐5.个人插件截图:...

2020-09-21 11:16:52 2023

原创 博客迁移通知

文章内容迁移知乎,但是两边会同时更新

2020-09-18 10:17:05 75

原创 UE4性能分析工具Unreal Insight之优化UI

如何在非独立窗口模式下使用Unreal Insight分析工具:在New Connection输入需要调试电脑的IP,LIVE表示那条数据是你连接上的调试数据,双击标有LIVE的数据,打开数据分析界面如何筛选Unreal Insight日志:通过Menu,打开筛选跟踪数据面板勾上对应的checkbox,表示要跟踪的模块,不勾选,表示不跟踪对应模块,可以利用这个特性先勾选Cpu,然后一段时间后,去掉Cpu勾选,这段时间产生的数据由于更上一次分析的有时间差,中间有没有跟踪的一段时间,这块数据会..

2020-09-15 18:47:58 5068 1

原创 Unreal Engine 4 中的 UI 优化技巧 汇总

来源于腾讯学院:https://gameinstitute.qq.com/community/detail/113852来源于搜狐:https://www.sohu.com/a/137852384_204824来源与知乎【心之所向】:https://zhuanlan.zhihu.com/p/148776920UE4基于栈状态机的UI管理(框架设计)【罗传月武】:https://zhuanlan.zhihu.com/p/143882791性能分析工具:https://docs.unrealengin.

2020-09-14 10:53:49 920

原创 解析ue4的TFunction模板类

// UE4TFunction.cpp : This file contains the 'main' function. Program execution begins and ends there.//#include <iostream>/** 声明类模板名:TEnableIf,Result具有默认值void [9/12/2020 ZC] */template <bool Predicate, typename Result = void>class TEnab

2020-09-12 18:38:31 1840

原创 在ue4中,探索正则表达式的好处

发起http get请求:void ServersAddressHelper::HttpGetReq(const FString url, const TFunction<void(FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful)>& Complate){ auto Http = &FHttpModule::Get(); TSharedRef<IHttpRequest.

2020-09-12 11:21:21 527 1

原创 《UE4游戏开发》之 《材质系列学习杂记》

1.拿到原画或者实际物体【如:水、树、花、键盘、人等】后,如何制作贴图?2.有贴图后,如何正确采样应用到模型中?3.模型贴图的展开和贴图的合并,存在这种说法吗?4.如何对模型进行着色:顶点着色、贴图着色、混合使用5.高模烘焙法线贴图?6.UV坐标系7.贴图坐标系【TextureCoordinate】与UV的关系:可以理解为贴图坐标系为画布,某个模型的UV为画布中的内容;贴图坐标系与对应,快捷键:u+鼠标左键。8.UV展开的方式:(1)完全展开:全部放到0-1空间,很少对此类模型的材质的UV进

2020-09-12 09:56:24 551

原创 《UE4游戏开发》之 《音效系统的实现》

音效系统需要负责管理什么事情:1.1 确定声音控制的分类:如背景音乐、技能音效、界面音效、角色配音等,不同游戏对声音有不同的分类1.2 控制每个分类的声音的开启与关闭,以及调节每个分类声音的大小解决如何分类:2.1 首先需要知道ue4为声音分类提供了什么:SoundClass通常需要一个根分类【SC_RPG_Master】,便于总体控制音效,以及指定引擎默认启动的音效打开SoundClass资产【SC_RPG_Master】,对根控制的设置,将逐级传递并按比例进行设置,以此达到控制一类声音的目的.

2020-09-09 16:24:10 1732

原创 UE4中对c/c++宏用法分析

/** * 行继续操作符【\】:表示用符号\,连接的内容,都是定义同一个宏的内容 * #:表示将参数字符串化 * ##:表示连接内容 * inline:c++的关键字 * __inline: c和c++都可以用,功能与inline一致 * __forceinline:c和c++都可以用,不基于编译器的性能和优化分析而依赖于程序员的判断进行内联, 但它也不保证 一定内敛,有些情况函数是肯定不能内敛的 * 使用宏的好处:可以精简写法,易于复用;如:本例的方法可以快速定义类属性的set和get

2020-09-03 18:19:07 992

原创 《UE4游戏开发》之 《TSoftObjectPtr引用资源并使用的陷阱》

错误使用例子://该if条件永远为falseif (anim_info->PreviewBorn && anim_info->PreviewBorn.IsValid()){ AnimSeq.PreviewBorn = Cast<UAnimSequenceBase>(anim_info->PreviewBorn.LoadSynchronous());}else{ AnimSeq.PreviewBorn = AnimSeq.Born;}//该.

2020-08-21 18:47:42 3461 2

翻译 《UE4游戏开发》之 《日志系统打印类名函数和行号》

理解c/c++提供宏的的含义:__FUNCTION__表示当前类名和函数名;__LINE__调用它的代码中的当前行号参考链接:https://www.ue4community.wiki/Logs,_Printing_Class_Name,_Function_Name,_Line_Number关键宏拼接//Current Class Name + Function Name where this is called!#define CUR_CLASS_FUNC (FString(__FUNCTIO.

2020-08-05 11:33:11 474

原创 《UE4游戏开发》之 《资源异步加载进度条处理》

以TArray数组作为容器,搜集所有需要异步加载的资源【assetList】加载进度的总体思路:把数组里的数据,按每次步长分成若干份,每完成一次步长,就更新一次UI,并开始下一步长,依次类推,进度条即可实现;如何把数组按步长分若干份:这个ue4给TArray提供了一个方法:Append,可以这样写://assetList搜集需要动态加载的资源//loadingIndex新一步长开始的索引//Count:计算从Ptr中插入的元素的数量TArray<FSoftObjectPath> .

2020-08-04 16:26:30 2069

原创 《UE4游戏开发》之 《快捷键设置系统》

1.UE4提供了UInputKeySelector控件,可以通过鼠标点击激活快捷键输入,然后点击键盘上按键,可以通过将设置的快捷键,显示出来2.设置快捷键的根本思路,通过移除在InputSettings上一个AxisMap或者ActionMap,然后把新的AxisMap或者ActionMap添加进InputSettings3. 关键性代码:void UI_Option::RebindActionMapping(const FName KeyName, const FKey Key){ if (Ke

2020-08-03 13:56:08 1426

原创 《UE4游戏开发》之 《画质控制》

画质控制1.画质设置,在ue4中有一个全局实例对象UGameUserSettings,通过UGameUserSettings::GetGameUserSettings()获得该对象。2.该对象可以控制:2.1抗锯齿【AntiAliasing】【UGameUserSettings::SetAntiAliasingQuality】2.2视野距离【ViewDistance】【UGameUserSettings::SetViewDistanceQuality】2.3后处理质量【PostProcessQua

2020-08-01 15:02:12 3388

原创 《UE4游戏开发》之 《代理》

//FComsumedItemEvent可以被UPROPERTY(BlueprintAssignable)标识DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FComsumedItemEvent, int, ItemId);//FOnAutoEquipEvent不可以被UPROPERTY(BlueprintAssignable)标识DECLARE_DELEGATE_TwoParams(FOnAutoEquipEvent, int, float);...

2020-07-22 13:54:44 167

原创 《UE4游戏开发》之 《MoveTemp函数的理解》

源码/** * MoveTemp will cast a reference to an rvalue reference. * This is UE's equivalent of std::move except that it will not compile when passed an rvalue or * const object, because we would prefer to be informed when MoveTemp will have no effect. .

2020-07-22 12:05:26 2512

转载 《UE4游戏开发》之 《Json解析》

ue4 json解析参考: https://blog.csdn.net/or_7r_ccl/article/details/53483810

2020-07-20 14:28:53 803

原创 《UE4游戏开发》之 《UMG容器添加子控件,数据初始化顺序》

应该先把控件放入容器中,然后再初始化控件的数据;否则,顺序反后,表现将是一个不确定的结果例子在项目中,原来子控件的初始化InitData节点在如下图位置添加的子控件如下在设置子控件的字体材质时,动态改变材质参数不起作用当顺序调整为控件变现正常PS:花了很多时间查到问题,有一处使用该控件的地方是直接拼在一个蓝图里面的,表现正常;当动态创建时出现异常,最后排查到是初始化顺序问题,需要先将子控件加入父容器控件,然后再初始化子控件的数据及表现...

2020-07-10 23:35:12 1602

原创 Python环境安装记录及笔记

不要通过window自带的商店安装python通过官网下载,下载慢请使用链接:https://pan.baidu.com/s/1T2KgF1YJUqdwx_0N1zaEcg提取码:b1uz(64位)链接:https://pan.baidu.com/s/1hUpzLWYpx0gx3uzrmk6yig提取码:fjcj(32位)修改pip镜像源,参考https://www.cnblogs.com/songzhixue/p/11296720.htmlpyinstaller打包,参考:https://bl.

2020-07-07 13:55:49 208

原创 《UE4游戏开发》之 《通过命令调用本地化相关功能》

set engine=引擎目录set projectpath=工程目录set projectname=工程名字Call %engine%\Engine\Build\BatchFiles\RunUAT.bat Localize -UEProjectRoot="" -UEProjectDirectory=%projectpath% -UEProjectName=%projectname% -LocalizationSteps=“Gather” -LocalizationProjectNames=“Game

2020-07-06 10:09:41 415

原创 《UE4游戏开发》之 《动画与特效、声音配合的方式》

直接通过ue4的动画编辑器中,添加通知骨骼通知,可以在动画蓝图中实现,添加通知时,ue4会自动创建对应的通知事件声音通知,可以直接指定声音资源通过逻辑控制,在代码里手动控制动画与声音...

2020-06-29 11:21:31 1055

uRPG:使用UE4 + KBEngine开发的MMORPG游戏演示-源码

项目H 利用UE4 + KBEngine开发的MMORPG游戏演示,游戏规则基本复刻魔兽世界。 技术选型: 前端:UE 4.22 初步:KBEngine 2.5.7 数据库:mysql 8.0.17 建议围观的小伙伴采用和我相同的版本运行项目。 目前进度: 登录注册模块20% 创建角色&选择角色模块 基础行为系统(移动&跳跃) 战斗系统 技能系统 道具系统 AI系统 背包系统 掉落除去 任务系统 数据驱动(前目标数据表) 天气系统 昼夜系统 副职系统 商店 拍卖行

2021-04-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除