UnrealEngine 音频渲染:以 IOS 为例源码分析本篇文章为外部内容,请点击链接跳转至原站点:UnrealEngine 音频渲染:以 IOS 为例源码分析 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 热更新:一次资源异常的故障分析 。
可以从 TargetRules 中使用 bIsEngineInstalled 来检查。 它调用的是 UnrealBuildTool.IsEngineInstal
本篇文章为外部内容,请点击链接跳转至原站点: 利用 HotPatcher 加速真机资源验证 。
本篇文章为外部内容,请点击链接跳转至原站点: 开源杂谈:HotPatcher 的开发进展 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20240125 | 还有两周 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20240117 | 还有一个月 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20240110 | 录播放送中 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20240131 | 等不及了!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20231214 | 又一年圆满落幕 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20231122 | 就在下周 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20231115 | 最后两周了 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20231101 | 买票要趁早 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 中利用反射为资产建立属性缓存 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 中资源自修正的设计与实现方案 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20231018 | 许久不见 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 插件与工具开发:j2 的设计思路与实现 。
虚幻周报 20230927 | UFSH 2023 来了!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230927 | UFSH 2023 来了!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230913 | 哪里贵了 。
虚幻周报 20230907 | UE5.3 发布啦!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230907 | UE5.3 发布啦!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230823 | 昨晚我真在写代码 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230816 | 要开始了 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230809 | 周六苏州见 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230802 | 又是一年 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230719 | 好热好热 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230629 | 要放暑假啦 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230621 | 粽子节快乐!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230614 | 天热了啊 。
本篇文章为外部内容,请点击链接跳转至原站点:UESlate 源码剖析 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230531 | 明天过节 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230524 | 本周日见 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230517 | 下一站北京 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230511 | 5.2 要来啦 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230426 | 五一快乐!。
本篇文章为外部内容,请点击链接跳转至原站点:DevOps:虚幻引擎的 CI/CD 实践 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230412 | 春天来了 。
本篇文章为外部内容,请点击链接跳转至原站点: 资源管理:UASSET 资源加密方案 。
虚幻周报 20230405 | GDC 视频汉化中本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230405 | GDC 视频汉化中 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 插件与工具开发:Commandlet。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230315 | 周日厦门见 。
本篇文章为外部内容,请点击链接跳转至原站点: 资源管理:重塑 UE 的包拆分方案 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230308 | 活动搞起来 。
虚幻周报 20230302 | 喜欢冰箱应该没错吧?本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230302 | 喜欢冰箱应该没错吧?。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230215 | 兔年的第一场直播 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230209 | 开工大吉!。
本篇文章为外部内容,请点击链接跳转至原站点: 内存扩展:UE 中利用 IOS 新的内存特性 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 插件与工具开发:基础概念 。
虚幻周报 20230119 | Happy New Year to 兔 you!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230119 | Happy New Year to 兔 you!。
本篇文章为外部内容,请点击链接跳转至原站点:HotPatcher 的模块化改造和开发规划 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20230104 | 新年新气象 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20221214 | 早晚的事 。
虚幻周报 20221130 | UOD2022 录播放送中本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20221130 | UOD2022 录播放送中 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20221115 | 大的要来了 。
本篇文章为外部内容,请点击链接跳转至原站点: 一种灵活与非侵入式的基础包拆分方案 。
虚幻周报 20221026 | 不给 PPT 就捣蛋本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20221026 | 不给 PPT 就捣蛋 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20221026 | 啊最后一周 。
UE5 VirtualHeightfieldMesh 简述本篇文章为外部内容,请点击链接跳转至原站点:UE5 VirtualHeightfieldMesh 简述 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20221019 | PPT 十天乐 。
随着游戏内资源越来越多,包体越来越大,但移动端的包大小是有限制的,不能无限度地把所有的资源都打到基础包中,Android 上限是 2G(可以开启 Allow L
虚幻周报 20221012 | UOD2022 开票了本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20221012 | UOD2022 开票了 。
可以控制 not-uasset 文件进 Pak 的规则。AutomationTool/Scripts/CopyBuildToStagingDirectory.A
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220930 | 放假啦 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220922 | 新的忙碌循环 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220914 | 武汉我来了!。
本篇文章为外部内容,请点击链接跳转至原站点:UE 中 ASTC 贴图压缩分析及效率优化 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220907| 下周武汉见!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220831| 神兽归笼 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 中多阶段的自动化资源检查方案 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220817| 秋天第一个项目 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220810| 高温预警 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220825| 虚幻嘉年华见!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220803| 下周开工!。
引擎默认的 Log 时间是 UTC,与国内的有差别,可以修改配置实现: BaseEngine.ini1234[LogFiles]PurgeLogsDays=5M
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220721| 下一站何处 。
在多核心 CPU 上编译 UE 时,如 Ryzen 线程撕裂者(64 核 128 线程),比较频繁的遇到以下错误: 123456789101112c1xx: n
本篇文章为外部内容,请点击链接跳转至原站点: 一种高效的 ZSTD Shader 字典训练方案 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220713| 周日广州见!。
对于 UE 项目而言,绝大部分情况下,不需要关心 Apk 的构建流程,虽然 UE 在打包时会生成一个 Android Studio 的工程,但基本对于开发层而言
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220706| 周六杭州见!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220629| 杭州我来了!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220622| 终于要动身了 。
虚幻周报 20220615|MetaHuman 觉醒本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220615|MetaHuman 觉醒 。
使用 SequenceRecorder 无法录制面部 MorphTarget 问题的解决方法本篇文章为外部内容,请点击链接跳转至原站点: 使用 SequenceRecorder 无法录制面部 MorphTarget 问题的解决方法 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220608| 想要上班 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220601| 儿童节解封快乐!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220525| 应该是快了吧 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻引擎中 Pak 的运行时重组方案 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220518| 随缘了 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220511|memset(0)。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 Chaos 基础使用及物理说明 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220427| 五一想上班 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220420| 有一就有二再有三 。
本篇文章为外部内容,请点击链接跳转至原站点: 基于 ZSTD 字典的 Shader 压缩方案 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220413|55555。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220330| 前有珍贵的菜 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220323| 世事无常珍惜当下 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220316| 大家保重!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220309| 搞点活动吧 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220302| 受苦很快乐 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220223|UE5 预览版发布!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220217| 先睹为快 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220126| 还有几天!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220119| 还有两周!。
虚幻周报 20220112|UOD2021 录播视频放送中!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220112|UOD2021 录播视频放送中!。
本篇文章为外部内容,请点击链接跳转至原站点:UE4Editor 对比蓝图 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20220105| 开工啦!。
高效调试:命令行参数启动 UE Android App本篇文章为外部内容,请点击链接跳转至原站点: 高效调试:命令行参数启动 UE Android App。
本篇文章为外部内容,请点击链接跳转至原站点:UE 资源管理:引擎打包资源分析 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211229| 元蛋快乐!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211222| 圣蛋快乐哦~。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211215| 照顾好自己 。
有时候,在插件或者其他的模块中,想要定义一个全局对象,供内部或者外部的模块访问,就像 UE 内置的 GEngine/GConfig 这些。 首先需要把 C++
UnrealPak 支持的命令行参数: 123456789101112131415161718192021222324252627282930LogPakFil
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211208| 该醒醒了!。
虚幻周报 20211201|UOD2021 就在明天!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211201|UOD2021 就在明天!。
本篇文章为外部内容,请点击链接跳转至原站点:UE5:Game Feature 预研 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211117| 好事多磨 。
本篇文章为外部内容,请点击链接跳转至原站点: 开源一个虚幻引擎启动器 UE Launcher。
虚幻周报 20211110| 万事开头难然后更难最后最难本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211110| 万事开头难然后更难最后最难 。
虚幻周报 20211103| 不给 PPT 就捣蛋!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211103| 不给 PPT 就捣蛋!。
虚幻周报 20211028|UOD2021 演讲开始公布了本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211028|UOD2021 演讲开始公布了 。
Details Panel Customization in Unrea lEngine本篇文章为外部内容,请点击链接跳转至原站点:Details Panel Customization in Unrea lEngine。
基于 ResScannerUE 的资源检查自动化实践本篇文章为外部内容,请点击链接跳转至原站点: 基于 ResScannerUE 的资源检查自动化实践 。
虚幻周报 20211020|UOD2021 倒计时 1 个月本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211020|UOD2021 倒计时 1 个月 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 热更新:Config 的重载与应用 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20211013| 来成为蓝图大师吧!。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 技术总结——委托 。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 材质系统源码剖析 。
虚幻周报 20210929|UOD2021 售票中!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210929|UOD2021 售票中!。
本篇文章为外部内容,请点击链接跳转至原站点:UE 资源合规检查工具 ResScannerUE。
虚幻周报 20210915|UnrealCircle 北京站!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210915|UnrealCircle 北京站!。
本篇文章为外部内容,请点击链接跳转至原站点:UE 热更新:Shader 更新策略 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210908| 活动搞起来!。
本篇文章为外部内容,请点击链接跳转至原站点:UE 热更新:资源的二进制补丁方案 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210831| 本周继续直播 。
本篇文章为外部内容,请点击链接跳转至原站点:UEAsLib 机制初探 。
Profiling IOS With UnrealInsight本篇文章为外部内容,请点击链接跳转至原站点:Profiling IOS With UnrealInsight。
虚幻周报 20210811|SIGGRAPH 好多干货本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210811|SIGGRAPH 好多干货 。
本篇文章为外部内容,请点击链接跳转至原站点:UE 多用户协同编辑服务部署指南 。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210728| 虚幻嘉年华见吧!。
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210825| 要有光!。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 中的 Subsystem。
有些需求,需要在 UE 的 Content Browser 里给某些资源添加一些处理功能,希望能直接选中右键进行处理。UE 中提供了这样的方式,用于扩展某种类型
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210714| 虚幻嘉年华!。
虚幻周报 20210820|UE4.27 正式版发布!本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210820|UE4.27 正式版发布!。
之前我写了一篇文章,在 UE 中集成了 ZSTD 压缩算法:ModularFeature:为 UE4 集成 ZSTD 压缩算法,并且把 UE5 中的 Oodle
在 build.cs 以及 target.cs 中可以获取命令行参数,对编译选项进行控制: 12345string[] CmdArgs = Environmen
Windows Metal Shader Compiler for IOS在 4.26 及更高的引擎版本中,支持在 Windows 上直接安装 Metal Sa
在 UE 编辑器中构建光照时,会拉起一个 SwarmAgent 进程在后台执行光照构建任务。UE 提供了多台机器联机构建光照的支持,通过配置 SwarmCoor
AssetRegistry 其实主要是在 Editor 下用来方便进行资源的查找和过滤操作,它的主要使用者是 ContentBrowser,这一点在 UE 的文
可以根据项目需求可以裁剪以下的引擎模块支持,降低编译的可执行文件、包体大小: APEX如果不适用 Nvidia 的 APEX 破碎系统,可以在编译引擎时去掉 A
使用 ModularFeature 集成第三方压缩算法,以 ZSTD 为例。 在 UE 中如果想要自己添加一个压缩算法的实现则需要自己实现一个继承自 IComp
IOS 在 IOS 包的 plist 中可以通过控制以下两个值: 1234<key>CFBundleShortVersionString</k
使用安装版引擎打包 IOS 时,开启 FileSharing 能够在通过工具访问程序的 Document 目录,里面类似 Android 的 UE4Game 目
默认情况下,UE 默认开启了 bUseUnityBuild,会把多个 cpp 合并成一个翻译单元进行编译,加快项目的编译速度,编译时有*_1_of_8.cpp.
本篇文章为外部内容,请点击链接跳转至原站点:UE4 Cook 一致性实践 。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 灯光的移动性 。
IOS 相对到绝对路径转换 在接入的一些库中,需要传递文件的绝对路径,可以通过下面的方式进行转换: 1IFileManager::Get().ConvertTo
ASTC Compression Quality By Size在项目的 DefaultEngine.ini 中的 [/Script/UnrealEd.Cook
项目打包时会根据项目启用的插件生成一个 PROJECT_NAME.upluginmanifest 文件,其中记录了每个启用的插件的 uplugin 的路径和内容
在 4.25 引擎版本中调用 FShaderCodeLibrary::CreatePatchLibrary 来创建 ShaderCode Patch 会触发 c
在之前的文章 Build flow of the Unreal Engine4 project 中有提到,UE 编译模块的时候会执行到 ExecuteActio
注意:如果 关闭代码优化 导致构造对象 Crash(或者 new 走不到对象的构造函数),需要检查项目和插件的代码中是否有重名的类,会导致一些奇怪的问题。在 b
Win 上远程构建出 IOS 包的流程是代码和 bundle 都上传到 Mac 上编译,生成不包含资源的 IPA,拉回本地执行资源 Cook 生成 Pak 后,
在打包时,不想要把所有的资源都打包到 apk 中,所以可以在打包时进行拆分,只把必要资源打包到 apk 中,首先需要把基础包中的资源进行 pak 拆分,可以把通
在前面提到了 UE 为 Android 提供了打包到 obb 中的文件过滤规则: 123# Config/DefaultEngine.ini[/Script/A
可以在 Console 中使用以下命令: 1obj list 会列出当前的资源加载信息: 12345678910111213141516171819202122
之前提到过在 ES2.0 上使用单个材质蒙皮的骨骼不能超过 75 根,在 ES3 之后就没有这个限制了,但是 UE 里目前还有这个限制。 Warning: Sk
该函数用来检测 Package 是否 在磁盘上存在: 12345678910111213class COREUOBJECT_API FPackageName&#
共享 DDC 的作用是:当同一网络内共享 DDC 的人只要有一个人编译了 DDC,其他人就无需重新编译,节省 Shader 的编译时间,提高效率。 所以,一般情
在插件的 uplugin 文件中可以写入 PreBuildSteps/PostBuildSteps 以下两个元素: 12345678910111213{
UE 的 Patch 有一些缺点: 无法精确地控制 Patch 包含的内容且不方便拆分。 无法进行迭代 Patch,不能直观预览资源信息。 无法方便地管理工程和
IOS 签名错误排查 在 Mac 上直接打包 iOS 时遇到以下错误: 123456789101112131415162020-09-27 19:23:48:7
TargetRules 导入证书和 Provision传统的打包 ios 时,需要手动在 Project Settings-Platforms-IOS 中选择打包要使用的 Certificate 和Provisio
有时只想要一些属性在编辑器下存在,打包时不需要,按照常规的思路,需要对这些属性使用 WITH_EDITOR 包裹: 1234#if WITH_EDITOR UP
在场景中,美术和游戏逻辑是区分开的,所以有时候需要程序关卡去操控美术关卡的对象,但是 UE 的不同关卡其实是不同的资源,属于不同的 Pacakge,是不能直接跨
在添加外部的代码库时,需要关注以下几个问题: 纯代码的库,要测试是否具有平台相关的写法,需要同时支持 Win/Android/IOS/Mac 四个平台 对于 A
在 UE4.25.1 中,引擎生成的 Engine/Intermediate/Build/BuildRules/UE4Rules.dll 等文件具有路径错误。
在 4.26+ 中已修复。 Mac 用的是 2 字节的宽字符,但却按 4 字节的去转,当材质里参数有中文时,就会出现不一致的 bug: Runtime/Core
MODULE_NAME_APIUE 中的模块,如果定义的符号允许被外部模块访问,则需要在 class 前加 MODULE_NAME_API,这个宏是什么意思呢?
UE 中有一个宏ON_SCOPE_EXIT,它的用法为: 12345// Make sure module info is added to known mod
与普通的 c++ 项目不一样,UE 的 Game 工程是不能在项目属性中设置 RuntimeLibrary 的,这部分有 UBT 代劳替我们处理。其相关的代码在
我之前的文章 Build protobuf with MSVC on Windows 中介绍了在 Windows 上使用 MSVC 编译 Protobuf,最近
下列枚举类型: 123456789101112131415161718192021222324252627282930313233343536373839404
UE 的 Delegate 分了几个不同的种类,普通的代理是模板类,Dynamic Delegate是通过宏展开生成类,Dynamic Mulitcast De
因为移动平台缺少 32 位的索引支持,所以最多支持 65k 个顶点和 75 根骨骼。 但是可以通过拆分骨骼模型的材质来实现,每个材质支持 75 根,这是单次 d
FCommandLine是 UE 封装的启动参数的管理类,在 Launch 模块下的 FEngineLoop::PreInit 中被初始化 (FCommandL
在 UE4.22 之前,UE 的跨平台库的实现方式都是创建一个泛型平台类: 1234struct FGenericPlatformUtils{ sta
概括来说:UnLua 绑定了 UE 创建对象的事件,当创建 CDO 时会调用到 UnLua 的 NotifyUObjectCreated,在其中拿到了该对象的
UObject 的 FObjectInitializer 构造函数的调用注意:只有 GENERATED_UCLASS_BODY 才可以实现 FObjectInitializer 的构造函数。 在继承自 UObject 的类中,都可以
当在 UCLASS 类中给一个属性添加 UPROPERTY 标记时: 123456789101112131415UCLASS()class MICROEND_4
UHT 生成的反射信息 在 UE 的代码中加了 UFUNCTION() 修饰后 UHT 就会为该函数生成反射代码。 每一个支持反射的函数 UHT 都会给它生成一
UHT 为类产生的反射信息 当在 UE 中新建一个类并继承自 UObject 时,可以在类声明的上一行添加 UCLASS 标记,当执行编译的时候 UBT 会调用
前面讲到了 Class/function/property 的反射,UE 还支持结构体的反射,其实从 C++ 的标准语义来说并没有区分“结构”和“类”,关键字
UHT 为 Enum 生成的代码 在 UE 中,当我们声明一个枚举类型时可以像 UClass 一样地形式为其添加 UENUM 标记,指导 UHT 为其生成反射代
UBT 会从下面三个文件中读取配置: 123* Engine/Saved/UnrealBuildTool/BuildConfiguration.xml* *Us
在部署构建机的时候,需要给每台构建机都导入 iOS 的 provision 和p12证书,如果每个都要打开一遍编辑器,纯粹是重复劳动,翻了下代码,UE 编辑器中
息屏控制UE 中封装了通用的接口来控制,可以使用以下函数: 1UKismetSystemLibrary::ControlScreensaver(false);
源码版与安装版引擎的路径有区别: BaseEngine.ini1234567891011121314151617181920212223[DerivedData
Navmesh bounds are too large当地图相当大,在生成导航时会有以下提示: 1LogNavigation: Error: Navmesh bounds are too large! Limiti
像 Bugly 之类的 crash 上报平台都需要上传符号表才能看到具体的堆栈信息,而 iOS 上的符号和调试信息都是在 dSYM 文件中的。UE 提供了 dS
UE4 打出来的 Windows 包可以使用 XXXX.exe -Params 等方式来传递给游戏参数,但是移动平台 (IOS/Android) 打包出来的怎么
有时候需要包含一些平台相关的代码,如 windows.h 里面包含了很多头文件,其中一些定义了很多宏,如: fileapi.h12345#ifdef UNICO
在工程中有一些异步操作的需求,比如下载文件的行为,一个下载命令等待下载完成之后回调,而且要尽量避免太多的事件绑定和解绑操作。在蓝图的节点中有一些异步的操作,比如
显示 FPS 1stat FPS 显示统计单元(每帧的总时间,逻辑线程 / 渲染线程和 GPU 的时间消耗): 1stat Unit 显示渲染线程中的各种参数值
ReplicationOnlyRelecantToServer(default false)if true,this actor is only relevan
在 EpicGameLauncher 安装的引擎版本是不能通过 UnrealBuildTool.exe -ProjectFiles "ProgramP
想要是用 Unreal Insight Profile lua 端的调用,可以把 SCOPED_NAMED_EVENT 封装到 Lua 端,但是因为 Lua 没
StaticClass 和 GetClass 的区别 StaticClass 是继承自 UObject 类的 static 函数,GetClass是 UObje
修改 PCH Buffer size默认是/Zm1000,就是 750M,如果编译时产生页面文件太小的错误: 1234c1xx: error C3859: Fa
当使用 Project Settings-Project-Movies 中来为游戏启动时播放视频时,默认情况下是锁定视频的长宽比的,在全面屏流行的现在,长宽比为
使用 IDetailCustomization 自定义属性面板使用 IDetailCustomization 的方式可以给 UE 的属性面板添加特殊的东西,比如按钮。 以给 F 的结构的 Detail 添加按钮的方法如下:
资源创建 在 Editor 中创建资源,并没有直接保存到磁盘上,所以要监听OnInMemoryAssetCreated: 123FAssetRegistryMo
UE5 可能的脚本语言简介 在 Epic 的 Inside Unreal:2020 Year In Review 中介绍了一个全新的脚本语言,有可能被称作Epi
和我当初预想的一样,2021.04.01 的 Feeds:Epic 把 Oodle 集成到 UE4.27 和 UE5 中了。 Oodle now free to
Editor在 UE4Editor.exe 启动项目时添加 -Trace=CPU -tracehost=127.0.0.1 参数: 1UE4Editor.exe
工欲善其事必先利其器,本文主要介绍在我在使用 UE 的过程中开发的一些开源的工具和插件,能够方便地在项目中使用,提高开发效率。之前简单罗列在 资源 页面里,今天
在下载 UE4 的源码之后,需要先执行 Setup.bat 下载依赖才可以开始生成 VS 项目文件以及编译。但是国内的网络环境又极差,默认的 Setup.bat
Unreal Engine 4 Network Compendium
等待发布的 Wiki 页面,基于 Gist 可以方便地在线编辑内容。 UE 开发的问题笔记和资料辑录 UE 和 VR 开发技术笔记 UE 工具链配置与开发技巧
重要:本站不允许非作者的全文转载,每篇内容版权归作者所有,欢迎外部作者将内容投稿到本站。 本站支持两种投稿方式: 内容投稿,直接把内容创建一个 md 文件发布到
我是查利鹏,循迹研究室 博客作者,过去几年积累了很多 UE 相关的文章和技术笔记,为了方便组织、管理以及检索,创建本站点作为 Unreal Engine Wik
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210623| 又有好东西要来了 。
4.25.2Mac 打包的 metal-ar 错误在 4.25.2 引擎版本,使用 Mac 打包时提示 metal-ar 错误,Log 中有执行 metal-ar 的报错: 123456789101112131
本篇文章为外部内容,请点击链接跳转至原站点: 虚幻周报 20210603| 开心地像个孩子!。
如果想要在编译引擎时自定义加一些编译器参数可以修改 Programs\UnrealBuildTool\Platform 下各个平台的 *Toolchain.cs
Install IPA 0xE8008029 Error使用最新的苹果开发者证书(2021.07.11)打包的 IPA 安装时具有错误: 123456789101112131415[DD] Mobile Device
终于,在 2021 年的五月底,UE5 终于要推出第一个预览版本了,虚幻引擎 5——将于中国时间 5 月 26 日周三晚 10 点开启抢先体验计划!。对 UE5
本篇文章为外部内容,请点击链接跳转至原站点:UE4VirtualTexture 源码解析 。
UE 中具有 PSO Caching 机制,全称 Pipeline State Object Caching,用于预先记录和构建出运行时所使用的材质依赖的 Sh
UE4 从 UProperty 到 FProperty本篇文章为外部内容,请点击链接跳转至原站点:UE4 从 UProperty 到 FProperty。
本篇文章为外部内容,请点击链接跳转至原站点: 蓝图的一些细节 。
本篇文章为外部内容,请点击链接跳转至原站点:UE4Chaos 框架解析 。
本篇文章为外部内容,请点击链接跳转至原站点:UE4Niagara 源码解析 。
在开发游戏时,程序性能是需要着重考虑的问题,因为要尽可能覆盖最多的用户群体,就要考虑那些中低端设备的运行效果,兼容非常多配置差异的硬件,在这种情况下,怎么样分析
UE 热更新:Questions & AnswersHotPatcher项目开源这一年多以来,经过了不少的更新和优化,也被越来越多的开发者选择作为自己项目的热更新方案,期间有不少人陆陆续续询问 UE4 热更新相关
UE 热更新:Create Shader Patch之前的热更新系列文章中介绍了 UE 热更新的流程和打包细节,其实有一些热更补丁优化的工程实践我觉得也可以详细介绍。 本篇文章从生成 Shader 的 Patch
在开发 Android 的时候,有需求需要同时支持 arm64 和 armv7,需要在 Build.cs 中同时把 armv7 和 arm64 的链接库都添加到
之前写了两篇 UE 中实现反射的文章分析,介绍了 UE 的反射基础概念和依赖的一些 C++ 特性,本篇文章开始分析 UE 反射实现的具体流程。 C++ 标准中并
在前面的文章中,介绍了基础包的拆分规则和实现,在基础的打包规则稳定之后,日常开发中的关注重点就转向侧重于项目的资产管理和包体资源审计、分析项目中的资产大小和冗余
本篇文章为外部内容,请点击链接跳转至原站点: 给 UE4 项目改名 。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 一些实践建议 。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 100 Tip For Unreal。
本篇文章为外部内容,请点击链接跳转至原站点:UE4 大世界场景工作流 。
在之前的几篇文章中,分别介绍了 UE 热更新的实现机制,以及热更的自动化流程,近期打算继续写几篇文章介绍下 UE 里热更新中资源包管理的流程和规则。 当然,不同
UE 热更新:基于 HotPatcher 的自动化流程HotPatcher是我之前开源的一个 UE4 热更新版本管理和资源打包工具,可以方便地进行版本间的差异分析和 pak 打包。之前的文章为了直观地介绍都是基于手
在前一篇文章中,介绍了 UE 的反射的基础概念,这篇文章开始研究 UE 的反射机制的具体实现。 在介绍 UE 的代码之前,需要先要介绍一些 C++ 特性,虽然
反射,是指程序在运行时进行自检的的能力,在编辑器的属性面板、序列化、GC 等方面非常有用。但是 C++ 语言本身不支持反射特性,UE 在 C++ 的语法基础上通
2020 年的 Unreal Open Day 是在线上直播和技术分会场的形式进行的,很开心参加了今年的 UOD 活动,我录制了一场 UOD 的技术视频,也去上
在使用 UE4 开发 Android 时,有时需要获取平台相关的信息、或者执行平台相关的操作,在这种情况下,需要在代码中添加 Java 的代码以及在 C++ 中
通常,UE4 开发者获取 UE4 引擎的方式有两种: 从 Epic Games Launcher 安装 从 Github 上 Clone 代码本地编译 从 Ep
Hook 是一种机制,通过拦截和勾取一些事件来实现自己需求的方式。不同于传统的底层 Hook,本篇文章主要介绍在 UE 中如何使用类似 Hook 的这种机制来实
本篇文章为外部内容,请点击链接跳转至原站点:UE4 动画系统源码剖析 。
这两天在看 UE 打包 Patch 作为热更的方案,UE 打包 Patch 的逻辑是这样的: 如果在版本 1.0 中,场景 Scene01 中对资源 A 有直接
本篇文章为外部内容,请点击链接跳转至原站点:UE4 物理系统实现 。
WWise是 Audiokinetic 的跨平台音频引擎,可以与游戏引擎很好地进行交互,负责音频的同事可以只在 WWise 中处理音频,把游戏业务和音频的制作与
在开发游戏时,会使用到大量的图片资源,使用图集的作用在于减少 DrawCall,提高性能。在 UE 中没有图集的打包工具,比较流行的方案是使用第三方的图集打包工
使用 HTTP 可以请求下载文件,response 的结果就是文件的内容。在下载一个文件之前可以先使用 HEAD 请求来只获取头,可以从 Content-Len
本篇文章为外部内容,请点击链接跳转至原站点:Android 在 Windows 的编译环境 。
Android 的开发环境需要 JDK/NDK/SDK/Ant/Gradle 等组合而成,UE 的文档中介绍需要安装 NVDIA 的 CodeWorks,但是由
Adbadb 是 Android 的调试工具,非常强大,熟悉一些 adb 的命令能够让效率加倍。首先先要下载Adb。 安装 Apk1$ adb install
Android 运行时请求权限ActivityCompact 里面有个 requestPermission 方法,可以用来处理这种情况。 请求应用权限 Andr
打包 Android 时的错误信息: 1UATHelper: Packaging (Android…) ERROR: cmd.exe failed with a
引擎对 Android 版本的支持 在之前的笔记里:Android SDK 版本与 Android 的版本 列出了 Android 系统版本和 API Leve
iOS UE4App 的数据目录 访问 iOS 程序的文稿目录需要 App 开启文件共享 (File Sharing),需要在 UE 的Project Sett
UE 可以在 Windows 可以直接出 Android 和 Win 的包(Android 需要配置 JDK/SDK/NDK/Gradle 等环境)。打包 iO
在 UE 中为移动端添加第三方模块或者修改配置文件时经常会用到 AdditionalPropertiesForReceipt,里面创建ReceiptProper
Unreal Plugin Language是 UE 提供的以 XML 语法为基础的语言,用来可以控制构建 Apk 以及 ipa 的过程,如实现修改 Andro
MacOS 安装 UEUE 要求 MacOS 的分区格式为 不区分大小写 (不然 EpicLauncher 也无法安装),而且安装引擎的要求是系统版本大于10.
Visual Studio Intaller 的下载地址:Visual Studio IDE, Code Editor 开发 UE,可以使用以下 VS 的安装配
抓取 UE4 API 并生成带索引的 Dash 文档不知为何,UE API现在已经不随引擎发布 chm 的离线文档了,官方发布的最新版本还是 2014 年的,UE 发展到现在有了很多变化,显然四年前的 API 文
UnrealPakViewer 可视化 Pak 分析工具本篇文章为外部内容,请点击链接跳转至原站点:UnrealPakViewer 可视化 Pak 分析工具 。
UE 适配不同 VR 设备的高度问题 在 UE 适配 Oculus Rift 和 HTC Vive 时注意把 TrackingOrigin(EHMDTracki
FPaths 提供了很多 EngineDir 等之类的函数,我在 unlua 里导出了这些符号: 123456789101112131415print(fmt(
本篇文章为外部内容,请点击链接跳转至原站点: 未变动资源 Cook 稳定性的 BUG。
在 Mount Pak 的时候,有一个参数可以指定 MountPoint: 1234567/*** Mounts a pak file at the speci
当在 UE 的 Project Setting 里Project-Packaging-UsePakFile启用时,会打包出来 pak 文件,以 Windows
可以把一些非 UE 资源文件(比如 txt,视频)等文件打包到 Pak 中,在游戏运行中访问,可以使用我上面写的 HotPatcher 工具来打包,这里写一下在
如下面代码: 12345678910111213141516class Template{public: template<typename T
GC Config of BaseEngine.ini打开 ProjectSettings-Engine-GarbageCollection 查看设置:它们是在配置文件 Engine\Config\BaseEngi
游戏热更新是在玩家不重新安装游戏的前提下获取最新游戏内容的方式,在 PC 和移动端的网络游戏中有很多应用,因为游戏上上线后要快速调整、修复 bug、更新内容等等
CharCast是定义在 StringConv.h 的模板函数: 12345678910111213/** * Casts one fixed-width ch
有些需求工程中需要检测引擎版本,如在支持多个引擎版本的插件,在引擎中包含不同的模块,引擎版本之间 API 的差异等。 C++ 获取引擎版本 Runtime/La
在蓝图中类似于 SpawnActor 或者 GetClassDefaults 之类的函数,可以根据参数的变化来改变节点的信息(如增加引脚,修改返回值类型等等)。
UE 使用的是 C++ 这种编译型语言,在编译之后就成了二进制,只有通过玩家重新安装才能打到更新游戏的目的。但是对于游戏业务而言,对于需求调整和 bug 修复时
UE4 Rendering Dependency Graph本篇文章为外部内容,请点击链接跳转至原站点:UE4 Rendering Dependency Graph。
UEC++ 本质是 C++ 的一个超集,它支持和使用 C++ 的全部特性,但是它在标准特性之上自己构建了一套语法。很多开发中的编译问题只有知道了两者的边界,才能
默认情况下,使用 UE 打包出游戏的 Apk 并在手机上安装之后,启动游戏会在 /storage/emulated/0/UE4Game/ 下创建游戏的数据目录
Export Recast Navigation Data from UE4最新版本已支持 UE5,详见 github 的 UE5.0 分支:ue4-export-nav-data/tree/UE5.0。 Recast Navigati
本篇文章为外部内容,请点击链接跳转至原站点:UE4 Lighting。
有一个需求:对下载的文件执行 MD5 运算。在 UE 中可以使用 FMD5Hash 来进行 MD5 计算,但是只能指定文件加载: 12FMD5Hash File
Oculus Quest Development with UE4Oculus Quest是 Oculus 发布的新一代支持 6DoF 的 VR 一体机设备,不需要连接 PC 以及额外的定位基站,而且支持 Guardian,当
Module 是构成 Unreal 的基本元素,每一个 Module 封装和实现了一组功能,并且可以供其他的 Module 使用,整个 Unreal Engin
UnrealPak 是 UE 的资源打包工具,当进行打包和热更资源时需要把 Cook 后的 uasset 资源打包成一个 pak 文件,供运行时加载。它支持的参
在 VS 中调试时显示对象值 打开引擎路径: 1Engine\Extras\VisualStudioDebugging 该路径下会有一个 UE4.natvis.
UE 的 EULA License Grant/(A) 中明确说明了,使用 UE 开发并再分发的内容不得包含 未 Cook 的源格式 和基于 引擎工具 开发的付
PixelStreaming 是 UE_4.21 开始支持的一项技术,简单来说就是能够将游戏跑在服务器上,你可以通过浏览器来玩,玩家端不需要额外操作,只需要一个
在 Windows 上,UE 的模块在非 IS_MONOLITHIC(打包成一个单独的可执行文件的 单片模式 (Monolithic)) 模式下,是通过查找 D
在 Windows 等平台上运行 UE 时在编辑器内 Play 游戏,若当前的焦点不在编辑器 /VR 应用内,会减少对 CPU 的占用,从而出现卡顿的问题 (打
在调试时关闭 Target 或者指定模块的代码优化,能够更好的分析问题。ModuleRules的 OptimizeCode 属性是用来控制当前模块是否要开启优化
可以使用几个命令参数模拟比较差的网络环境,从而测试 UE 联机的网络质量和 bug 检测。 Setting Description PktLag Delays
UE 的很多工具链,是基于 UE 自身的功能编译出来的程序,如 UnrealPak、UnrealFrontEnd、UnrealVersionSelector 等
hxhb/UE4Launcher是我使用 UE 的 Program 模式写的一个便捷的 UE Project 启动器,可以方便地加入启动参数,选择引擎版本,可以
在 UE 中,经常需要在 C++ 代码中打印日志,UE 也提供了方法来创建出可以通过 UE_LOG 打印日志的宏。首先,先来看一下 UE_LOG 是什么,它是个
游戏上架 Steam 必须要接入 SteamSDK,本篇文章简单介绍一下在 UE4 中接入SteamSDK 的方法,后续与接入 Steam 平台服务相关的内容也
UE4 中提供了一套非常成熟的 INI 文件配置机制,引擎中也使用了 ini 作为引擎和项目的配置文件。本篇文章来简单分析一下引擎中 GConfig 的加载。
在打包的时候遇到这个错误: 1Couldn't save package,filename is too long 是因为某些资源在 Windows
Instanced Stereo Rendering在 UE4.11 中引入了 Instanced Stereo Rendering, 其原理是通过单次 draw call 来绘制双眼,进而来缩短渲染线程的时间和
在 UE 中当网络连接出现错误时会调用 UEngine::HandleNetworkFailure 来接收错误消息和处理错误,错误的类型为枚举 ENetwork
UGameInstance::HandleNetworkError当网络链接出现错误时,会调用该函数 (服务端拒绝玩家加入时也会调用)。 调用栈为(可以继承 UEngine 来替换 Engine 实现): 1UEngine::
HTC Vive Tracker Developer GuideHTC 发布的 Vive 配件 Vive Tracker 可以用来扩展与 SteamVR 连接的设备。而且还具有 Pogo 引脚,可以自己 DIY 出特殊功能的
Create A Standalone Application in UE4虽然 UE 是个 游戏引擎 ,但并不是只能写游戏——你甚至可以用来写 Win32 GUI 程序😏. 通常,我们使用 Editor 创建一个 UE 的游戏项目,
UE 是模块化的架构,Engine/Game Project/StandaloneApplication/Plugins 都是 Module(Unreal En
UE 通过 UBT 来构建项目(不管是 VS 里的 Build 也好,Editor 里的 Compile 也好,最终都会调用 UBT)。UBT 和 UHT 是
UE4 引擎里面定义了很多引擎中的宏和一些处理逻辑,如 WITH_ENGINE/WITH_EDITOR 等,它们部分是 UBT 通过读取 *.target.cs
UnrealVersionSelector是 UE 的一个工具,用来关联 uproject 文件、注册引擎、选择引擎版本、生成解决方案等功能的一个工具。在对 u
因为 UnrealEngine 在切换关卡 (OpenLevel) 时会把当前关卡的所有对象全部销毁,但是常常我们需要保存某些对象到下一关卡中,今天读了一下相关
FNameFName 的字符串一般用在为资源命名或者访问资源时(比如命名的骨骼)需要使用。它使用一个轻型系统使用字符串,特定字符串会被重复使用,在数据表中也就只
Unreal Editor 中提供的 Source Control 可以通过 Git 实现蓝图项目的 版本提交 / 版本比对 / 撤销修改 等一些基本功能,远远
使用 Unreal Engine 4 采集 360°全景视频本文部分内容摘自 Unreal Engine 的官方博客文章:从虚幻 4 中采集 360 度立体电影,其余部分为修正该文章错误和提供一个现成可行的解决方案。 采