归档: 2017

Protobuf 使用过程遇到的一个问题

问题描述运行时崩溃,断点处 log 报错 File already exists in database 和 File is already registered 类似问题 static linking with generated protobufs causes abort 出现的原因工程结构如下,首先项目里使用的 protobuf 库是动态编译的 libprotobuf.dll,然后有两个其

UE4 打包参数说明

打包选项说明打包代码位于 Engine\Source\Editor\MainFrame\Private\Frame\MainFrameActions.cpp 选项代码位于 Engine\Source\Editor\UnrealEd\Classes\Settings\ProjectPackagingSettings.h 选项 DefaultGame.ini(ProjectPackagingSe

一键搭建Shadowsocks服务器

购买VPSVultr推荐使用 Vultr,支持支付宝付款,只是用来搭建 Shadowsocks 的话使用最便宜的配置就行,每个月 2.5 刀,不过这个最近没货了,可以用 5 刀一个月的配置,等有货了再切回去。 bandwagonhostbandwagonhost 也可以,不过用的人多了,速度有时候会有问题,而且容易被ban,最近10九大期间就全部被禁了 安装Shadowsocks服务端(以Vul

UE4 MemoryProfiler使用

编译MemoryProfiler工具 打开 Engine\Source\Programs\MemoryProfiler2\MemoryProfiler2.sln 工程文件,然后编译 编译完成后的可执行文件位于 Engine\Programs\MemoryProfiler2\Binaries 目录 修改游戏工程编译选项 打开 Engine\Saved\UnrealBuildTool\BuildCo

Buildbot 简介

什么是BuildbotBuildbot 是一个自动化的持续集成框架,可以编译,发布,自动化测试,基于 Python,可扩展性强。比如有新提交触发整个流程,或者定时触发。详细见官网 安装安装Python官网 安装 pywin32 库下载地址 安装pip1pip install --upgrade pip 安装buildbot1pip install buildbot[bundle] 创建master

装修趟坑记之设计、拆旧和水电

买好房子后,还有一个大坑要趟,就是装修了。而且从现在的进度来看,确实是掉进坑里了。 设计在设计上,我们比较看重的一点就是改成两室了,原始的户型是大一室,其他的也没有什么要求。所以看设计师过程中就是考察他们在这上面能有什么发挥,最终看下来,其实也都大同小异,最终定的方案也是最保守的一种,也基本上是所有设计师都会提到的一种。最终的方案如图 在这个阶段过程中其实也是在选装修公司,你定了哪个方案也就是选

虚幻4 Lua源码集成

插件源码 UE4Lua 直接在项目中集成 Lua 的源码,方便使用 测试平台 已测试通过 Win32, Win64 Android Mac 未测试 Linux 如何使用直接将 Lua 文件夹复制到自己的项目源码目录下即可 编译问题编译 Android 时出现 no member named decimal_point in struct lconv 错误需要在 luaconf.h

虚幻4 RakNet插件

插件源码 UE4RakNet 测试平台 已测试通过 Win32, Win64 Android Mac 未测试 Linux 如何使用直接将 Plugins\RakNet 文件夹复制到自己的项目源码目录下即可,如果不想用 RakNetUDPClient 的封装,也可以直接把 RakNetUDPClient.h/.cpp 删除,然后自己封装 注意的地方DR_SHA1.h 中将 TCHAR

虚幻4 Protobuf源码集成

插件源码 UE4Protobuf 直接在项目中集成 libprotobuf 的源码,方便使用 测试平台 已测试通过 Win32, Win64 Android Mac 未测试 Linux 如何使用 将 Source\Protobuf 文件夹复制到自己的项目的Source目录下 修改自己项目的 .build.cs 文件,在 PublicDependencyModuleNames 中增加

UE4 描边

前言 本文引擎版本: 4.15 项目源码地址 不管在 RTS 或者 FPS 类型的游戏中,描边都是一个基础的功能。在 RTS 游戏中,对单位描边一般用来表示选中这个单位或者鼠标悬浮在这个单位上。在 FPS 游戏中,描边一般用在被建筑物遮挡的单位上,描述这个单位被遮挡部分的轮廓。 Depth MapDepth Map 描述的是场景中的物体和摄像机之间的距离,距离越近,值越小,颜色越深。可以在显示模

UE4 RTS 拉选提示框

前言 本文引擎版本: 4.15 项目源码地址 RTS 游戏中,当选取多个单位时会有一个操作,按住鼠标左键后,拖动鼠标,这时候屏幕上会出现一个矩形的范围提示框,当释放鼠标左键后,这个范围内的单位就会被选中,如图所示,本文在前篇 UE4 RTS 风格摄像机 的基础上,实现这个多选提示框 SelectInputInterface 接口首先定义一个 SelectInputInterface 的接口类,

2017 Week 12-16

过去一个月主要是买房相关的事情,期间的事情繁杂,还有一点戏剧化,最终还是买到的比较满意的房子,这一个月要归功于阳阳,不是她还真得吃亏 经过这一个月,关于买房的过程有几点体会 表面上看似老实的人其实坏心思多的是,都是要为自己利益考虑 中介的选择不管是链家还是中原,大公司表面上口碑要好些,但是还是小心点,毕竟具体的各个业务员,水平人品还是有所差距 大量看房,房子看的越多越有点懵,中介还会不停地打探你

UE4 安装式编译

前言 适用引擎版本: 4.13 及以上 参考文档 Installed Build Reference BuildGraph Installed Build从 4.13 开始,虚幻4引入了 BuildGraph 之后,就可以自己通过编译源码发布引擎版本了,这个版本和在 UnrealEngineLauncher 中下载的引擎版本是等价的。如果有修改虚幻4源码的需求,那么非常适合通过这个来发布给美术

UE4 RTS 风格摄像机

前言 本文引擎版本: 4.15 项目源码地址 修改历史 2017-4-26 : 简化 UpdateCameraDistance 和 UpdateCameraPitchDegree 函数计算方式 C++ 类Camera 基类在虚幻4中,要实现一个 RTS 风格的摄像机,比较好的方式是从 SpectatorPawn 继承一个类。 新建一个类 ARTSCamera,继承自 ASpectatorPaw

UE4编码规范

编码规范的重要性 一套软件 80% 的生命周期都是维护 在软件的整个生命周期中,几乎不可能一直是软件的原始作者来对其进行维护 编码规范可以改进软件的可读性,从而使得工程师可以快速并透彻地理解新的代码 如果我们决定将源代码公布到 MOD 开发者社区,那么我们想让它通俗易懂 其中大部分编码规范实际上是交叉编译器兼容性所要求的 类的组织结构类的组织应该面向使用者而不是作者,因为大部分的使用者都要使用类

UE4 使用 Tips

禁用 Epic Survey 插件 Edit->Plugins->Built-In->Misc->Epic Survey 取消勾选 Enabled 复选框 如果没有禁用这个插件,会导致编辑器退出速度变慢,特别是网络不好或者开发环境是断网的情况下,会等待很长时间才能退干净 禁止发送统计数据 Edit->Editor Preferences...->Privacy

内网使用Perforce管理UE4开发环境

在内网环境中,所有的工作机器都是物理隔离断网的,在这种情况下搭建虚幻4开发环境可能有些许修改 同步代码 从 EpicGames/UnrealEngine 同步代码 运行 Setup.bat 下载安装依赖 完成后将整个文件夹打包复制到内网开发环境中 搭建Perforce库在根目录下复制 Setup.bat 文件,并且重命名为 SetupInternal.bat,打开 SetupInternal.b

2017 Week 10-11

爷爷于2017年3月10号晚上21点30分左右离世,享年85。 没想到从医院回家刚过一晚上,爷爷就走了。听家里人说10号早上还能交谈,没过一会整个人就没神了。我晚上7点多赶到家里,见了爷爷最后一面,那时爷爷虽然不能说话,但是应该是还有点意识,知道我回来了,我喊着爷爷,然后就见他一颗眼泪流下。 虽然平时知道要珍惜和家人在一起的时间,但直到亲眼目睹至亲离世才能深刻体会失去的时间再也补不回来,没成行的武

2017 Week 09

阅读进度 C++ Primer 5th 先暂时停了 上周找的 Unreal Engine4 Scripting with C++ 这本书看的剩下2章就全看完了 工作相关 这周把 Peforce 的使用看了下,并整理了两篇文档

Perforce 服务器基础

安装 Perforce 到 官方下载地址,选择对应的操作系统,下载并安装 安装完成后,将 license 文件复制到安装的根目录下,并重启服务 基础配置 打开命令行,运行 p4 protect 命令,因为在此之前,任意用户都默认为超级管理员。在打开的文件中,有一个管理员的账号 验证是否正确安装服务 p4 info 查看服务器配置信息 p4 configure show 查看授权信息 p4 lic

Perforce 客户端基础

安装 Perforce Client 到 官方下载地址,找到P4V,选择对应的操作系统,下载并安装 登录 打开装好的 P4V,在 Server 中输入服务器的地址和端口,在 User 中输入用户名,可以点击 Browser... 按钮查看所有的用户列表 点击 OK 按钮后,会弹出一个密码输入框,输入密码后点 OK 按钮连接服务器 创建工作目录 点击 (no workspace selecte

2017 Week 08

Dota2 SLI3这周花了比较多的时间看群星联赛,毕竟是年后来的第一个比较有看头的比赛。意料之中 Wings 没有表现出一个 TI 冠军的水准,水平还在,不过感觉走进死胡同了,老是想秀一些奇怪的阵容,继续这样下去,今年成绩估计不会太好。赛前我就和几个同学说 VG.J 的比赛有看头,果然比赛过程中发挥出色,最后拿了亚军,可以说输给液体不丢人,液体的确在决赛中展示了恐怖的实力,特别是第三局的绝地带线

2017 Week 07

C++ Primer 5th 这周没看 工作相关 完成了下载引擎的更换工作,本来是想把 libaria2 库编成 dll 使用,后来发现添加任务时,如果有一个任务正在下载,后面加进去的任务会变成 WAITING 状态,就是之前的任务下载完成,后面加的任务也不会继续下载,不知道什么问题。后来索性直接用 aria2c.exe 得了,反正它支持 JSON-RPC 通信,接口用起来也很简单,只要能解决两

2017 Week 06

C++ Primer 5th 看到了第13章 后面要加快点速度,至少一周两章 工作相关 一如既往的不顺,人在家中坐,锅从天上来,大潮还没退去,已经就能知道谁在裸泳了。。 重新找了个下载库 Aria2,弄清楚了编译,改了代码导出接口,写了篇文档,准备将现在的迅雷替换掉,看看还会不会出现下载失败的问题,后续还得将 zip 换成 7z 格式,减少压缩包体积

Windows中Aria2动态编译和使用

介绍Aria2 是一个轻量的多协议多源命令行下载工具,支持 HTTP/HTTPS, FTP, SFTP, BItTorrent, Metalink。并提供 JSON-RPC 和 XML-RPC 接口调用。 总而言之,Aria2 是一个开源的下载库,可以集成到程序中获得下载功能 编译 Aria2 需要用到 mingw-w64 的交叉编译工具链来编译出来 Windows 下的二进制,所以要首先安装一个

2017 Week 04-05

过年 这两周回家过年,年前请了一周假提早走了,因为要参加二堂哥家的侄女的婚礼。小时候单单提着小红桶装着狗饭从家门前跑过的记忆还很清晰,转眼间也嫁人了,时间不快不慢,默默流逝。。 所有在放假前拟定的学习计划,都不靠谱。。 爷爷的病开始逐渐发作了,精神也逐渐不行了,估计再撑不了多久了,是选择在医院挂水续命但是要忍受剧烈癌痛,还是直接回家加快离世速度减少折磨时间,很难去做出选择,希望那一天到来时,我能及

2017 Week 02

C++ Primer 5th 看到了第12章 这周的速度有点慢了 自己搭建了个ShadowSocks服务器 之前用了2年多的 轻云 挂了,虽然之前买的 云梯VPN 还能用,不过平常上网翻墙用云梯的话比较麻烦,公司内不知道为什么也用不了,所以干脆买了个 VPS 服务器,搭建了一个 ShadowSocks 服务器自己用。算下来的话,这个还更便宜一些,一年不到20刀,其实还能更便宜的,不过想着以后这个

2017 Week 01

C++ Primer 5th 看到了第10章看书还是有好处,即使是已经看过的,多看几遍,总是有新的理解和收获 工作上还是继续查崩溃的bug 工作真是越来越不顺,不是你的问题要甩锅给你,改了代码不是给你注释就是回滚,美名其曰要考虑合作。。我TM的还考虑历史进程呢。。 整个项目技术水平低下,招的都是些什么鬼,天天重构这个重构那个,能搞的清楚重构和重写的区别吗。。 一个项目被一个人绑架,难道没人发现这