自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 UE4 移动端最小包

引言 之前学习 UE4 的时候,常常使用提供的模板来创建项目,结果发现打包成 apk 后包体体积达到几百 M 甚至上 G。而在 Unity 最新的 2019 版本,一个空的 Unity 工程打出的 android 包,包体的大小约为 18 M。那么, UE4 打出的 android 最小包大约为...

2019-12-27 15:10:07

阅读数 34

评论数 0

原创 Unity 接入 ILRuntime 热更方案

引言 最近看了一下 ET 框架,本来只是研究一下网络模块,后来抽时间看一下热更框架。ET 的热更使用的不是像 tolua 这样基于 Lua 的方案,而是基于 ILRuntime 的纯 C# 热更实现方案。 ILRuntime 的实现原理 对 Unity 引擎有一定了解的开发者都应该知道:...

2019-09-27 15:50:09

阅读数 536

评论数 0

原创 Unity Android Icons 配置

引言 由于 Google 规定新上线的 App 的 TargetVersion 必须不低于28 ,而对于 API 级别高于 26(Android 8.0)又要求必须适配新的 Icon 方案,即自适应图标(Adaptive Icons)。因此,Unity 中的图标设置栏也发生了一些变化,在 Uni...

2019-09-24 15:08:57

阅读数 118

评论数 0

原创 Hexo 和博客园添加 Live 2D 模型

引言 今天在查资料时,在这篇博客 Unity FSM 有限状态机 看到了一个有趣的东西 ,屏幕右下角有一个二次元的模型,而且鼠标移到不同位置,模型会跟着动,点击还会播放音频。通过截图使用 google 的图片搜索,原来这个叫做 Live 2D ,最终找到了添加方式,可以在博客园添加,后来发现原来...

2019-07-06 21:59:10

阅读数 595

评论数 0

原创 PhysX 物理引擎研究(一)源码编译

前言 Unity 3D 中的物理引擎分为 2D 引擎和 3D 引擎两部分,其中 2D 引擎使用的 Erin Catto 写的是 Box2D,而 3D 引擎使用的的 NVIDIA 的 PhysX,在 Unity Editor 中打开 Help — About Unty 可以看到 "Phy...

2019-06-29 16:43:21

阅读数 772

评论数 0

原创 Windows 下的 OpenGL 开发环境配置(GLFW+GLAD)

引言 最近在读 Unity 4.3 的源码,研究到 Unity 集成的物理引擎 PhysX 和 Box2D 部分,接下来还要研究渲染引擎方面的东西,想着直接倒腾一下,自己集成一遍写个小 demo 。当然这都依赖于 OpenGL 这个东西来渲染(因为物理引擎本身都是一些计算,没有可视化的东西,需要...

2019-06-28 10:55:06

阅读数 687

评论数 0

原创 Windows下的 C++ 编译工具(MinGW-w64 + CMake)

引言 假如想在 Windows 下进行 C++ 的开发,可以直接使用 Visual Studio 和相应的 C++ 插件来实现,但编译和构建过程是不可见的。为了更彻底地了解 C++ 工程的编译和构建,可以借助另外两个工具在 Windows 环境下实现。 MinGW 是 Windows 系...

2019-06-28 10:52:10

阅读数 420

评论数 0

原创 编译 Unity 4.3.1 引擎源码

引言 从 2014 年参加实习便开始使用 Unity 3D 开发游戏,当时 Unity 还是完全闭源的,但那时候有些公司财大气粗的会直接跟 Unity 官方购买了引擎源码,似乎后来 Unity 就不卖给中国的企业了。Unity 官方从 Unity 2017.1 版本开始,开源了引擎和编辑器的C#...

2019-05-17 16:15:38

阅读数 1638

评论数 1

原创 JavaScript 中 == 和 === 的区别

1. 引言 这是在 JavaScript 中用来进行数值和对象对比时常用的操作符,从定义上来看: == :抽象相等,比较时会先进性类型转换,然后再比较值 === :严格相等,会比较两个值的类型和值 测试例子: console.log('10'==10)...

2019-04-28 15:10:30

阅读数 135

评论数 0

原创 Git SSH 方式无法 push 踩坑

引言 我们知道使用 git 管理的项目可以通过两种格式的 url 来获取,分别是 HTTP 和 SSH 使用 HTTP 方式操作 git 工程需要输入对应的账号和密码,当然为了方便也可以使用诸如 TortoiseGit 这样的图形化工具来管理 Git 工程,而且其中自带记住账号和密码的功能...

2019-02-26 19:49:52

阅读数 1023

评论数 0

原创 MySQL 字符集

引言 刚刚入门数据库开发的开发者估计没少被字符串“乱码”的问题所困扰,导致乱码的原因有很多,而最常见的原因可能是对字符集和排序规则没有概念,因此在创建数据库时便已早早埋下了地雷。   字符集和排序规则 同理,假如使用 Navicat for MySQL 这样的可视化管理工具来管理数据库,在...

2019-02-15 16:28:35

阅读数 129

评论数 0

原创 Windows 下的 Vim 编程

引言 之前习惯了在 Linux 下使用 Vim 进行编程,最大的好处就是能摆脱鼠标进行编程,而在 windows 下 cmd 并没有办法直接安装 Vim ,Windows 下可以安装 gVim ,但要直接在 cmd 窗口中直接像 Linux 下输入 vim 进入编程,还是需要进行一些配置。 ...

2019-02-14 09:39:55

阅读数 869

评论数 0

原创 Maven 上手指南

引言 最近开始学习 Spring Boot ,由于选用 Maven 作为构建工具,这也是 Java 后端开发常用的构建工具,当然也可以选用 Gradle ,Gradle 之前在 Android 项目中使用居多,但近期也渐渐有取代 Maven 的趋势,后续可能会专门再写一篇关于 Gradle 的使...

2019-01-25 15:16:32

阅读数 154

评论数 0

原创 Flutter 1.0 正式版发布

在昨晚(2018年12月4日)的 Flutter Live 2018 上,Google 宣布 Flutter 1.0 正式发布,这也是 Flutter 在第一个 Beta 测试版发布9个多月后发布的第一个正式版本。做移动端应用的人假如还没听过这个库,大概需要注意一下了,毕竟这可能会影响到移动端...

2018-12-05 13:52:53

阅读数 420

评论数 2

原创 IT 圈所谓的凛冬将至

今天是 2018 年最后一个月的第一天,深圳的冬日一如既往地把人晒得有些烦躁和焦虑。从去年年底跳槽至今一年有余,中间倒是经历了不少事。 最近,在浏览各种技术群时,隐隐感觉到 IT 圈子,特别是游戏圈的寒冬将至的气息,坊间也不少传言各大巨头企业的裁员浪潮。身在游戏圈中的我,在这一年里,其实也或...

2018-12-01 15:26:48

阅读数 579

评论数 0

原创 Windows 进程管理

引言 在 Windows 下,有时候启动软件需要使用指定的端口,但此时端口可能被其他应用所占用,所以需要找到占用端口的应用并将该端口释放出来。 查询 几个常用的查询命令行窗口指令: netstat -ano 查看所有进程 netstat -ano|findstr [指...

2018-11-21 10:25:25

阅读数 117

评论数 0

原创 Egret 性能优化

引言 之前完成了项目的逻辑内容开发之后,开始着手解决性能方面的问题,比较严重的就是发热和耗电。而且出现玩的时间越长越卡的问题,想必是有内存泄露了。接下来就是优化的主要思路: 首先,降低常驻场景的 drawcall ,即游戏主场景及主界面 UI ; 其次,排查内存泄露; ...

2018-11-16 15:47:50

阅读数 3282

评论数 0

原创 Egret QQ玩一玩适配【踩坑日记】

需要申明一点,这是我接过最坑的渠道了,各种神奇的问题,首先是接口比较奇怪而且新旧版本搞得很混乱,其次是平台底层实现性能差而且很多限制。此外,这里需要理清楚一个概念:QQ 玩一玩 和 QQ 玩吧 并非同一个东西,QQ 玩一玩也叫 QQ 轻游戏 或 厘米游戏 ,是基于 bricks 引擎实现的。  ...

2018-11-16 15:10:37

阅读数 1403

评论数 2

原创 python Png图片压缩工具

引言 最近在做 H5 小游戏的开发,与 App 不同,由于 H5 所有的资源都是通过 CDN 获取的,考虑到网络资源加载速度的问题,优化资源显得格外重要。因此,图片资源的压缩也是必不可少的。   起源 起初,我们在 windows 下是通过一个叫做 PNGoo 的 GUI 工具来实现图片资...

2018-10-13 16:53:45

阅读数 1565

评论数 0

原创 H5 微信小游戏群 openGID 解密

这里使用的 Wechat Lib 版本是 2.0.6 ,高于此版本则不再能获得分享成功与否的回调。后来直接把基础库升级到 2.2.2 ,发现只是开发者工具拿不到回调而已,手机上还是还能拿到回调。 在使用微信小游戏的分享功能时,假如在 wx.showShareMenu 中设置了 withSha...

2018-08-30 17:30:03

阅读数 918

评论数 2

原创 前端 DFA 敏感词过滤

前言 最近在做游戏的聊天功能,需要在客户端接入敏感词过滤,较低成本的实现方法有字典匹配和正则表达式匹配,但效率上较低。大致 google 了一遍,发现 DFA 算法是实现敏感词过滤效率较高的选择,下面是具体实现过程。   DFA 算法须知 DFA 算法,即 Deterministic Fi...

2018-07-30 16:58:06

阅读数 875

评论数 0

原创 H5 微信小游戏 —— 音频管理器

前言原本使用的是 egret 的 egret.SoundChannel 和 egret.Sound 来管理音频,但不知为何在重复将游戏切换到前后台后,很容易出现背景音播放不全、播放重复和无法播放的问题,懒得再去排查原因干脆使用小游戏提供的音频播放 API 重写了一个音频管理工具。API 相关参考官...

2018-07-10 14:51:08

阅读数 1678

评论数 1

原创 electron-vue 实践 2 —— excel 合并

前言 之前使用 vue-cli 和 electron-vue 创建了工程,接下来就开始实现具体的逻辑,我们的目标很简单,就是将一张或多张表中的所有 sheet 页内容都垂直或水平合并在一个 sheet 中,并生成一张新的表。   UI 布局文件 新加一个 .vue 后缀的文件,vue 的 ...

2018-06-28 10:21:33

阅读数 765

评论数 2

原创 electron-vue 实践 1 —— 安装和创建工程

去年倒腾过一段时间的 electron ,但最终没做出什么东西来,最新刚好要帮一个做审计工作的朋友做一个桌面软件,所以打算正儿八经地研究一下。我们都知道 electron 相当于一个浏览器的壳子,里面的内容开发其实与 web 网页开发并无明显区别,只是通过此框架提供了可以直接操作系统的 nativ...

2018-05-23 10:18:19

阅读数 3863

评论数 3

原创 Egret 从创建到发布

创建项目安装完 egret 之后,使用 egret 指令创建工程:$ egret create e_demo 正在使用白鹭编译器 5.1.9 版本 扫描项目列表 正在创建新项目文件夹... 正在编译项目... 项目创建成功,您可以执行 egret run 来运行刚刚创建的应用 项目共计编译耗时:3...

2018-05-20 15:57:57

阅读数 3330

评论数 1

原创 TensorFlow 学习笔记1 —— 安装

今天大概看一下如何搭建 TensorFlow 的开发环境,当前的工作平台是 Mac OS X 10.13.2 :资料主要来源于 TensorFlow 官网 。安装方式选择官方提供了一下几种安装方式:Virtualenv (虚拟环境) "native" pip(原生环境使用 pi...

2018-04-15 23:07:58

阅读数 898

评论数 2

原创 Unity 使用 Spine 动画

在 Unity 中,常常使用 Spine 来制作一些动画,引擎本身并不能直接播放 Spine 动画,需要额外导入一个 RunTime 插件库才能支持。 运行库导入 关于运行库的导入,有两种方式: 1. 从开源库导入 下载 Spine 的 runtime 库:EsotericSoftwa...

2018-04-02 17:34:39

阅读数 16296

评论数 1

原创 BAT 字符串大小写转换

前言今天为了解决一个问题,在 Unity 中我们经常需要通过 IO 读取文件,就像我们读取表格的二进制文件例如:DirtyConf.bytes , Windows 中默认是对大小写不敏感的,所以读取的时候指定的读取名称可以是 DirtyConf 字母的任意大小写组合,例如:dirtyconf 、 ...

2018-03-31 14:14:50

阅读数 2536

评论数 0

原创 Skynet服务器框架(十二) (debug_console)控制台管理

在 skynet 框架中提供了一个控制台服务 debug_console ,用于帮助我们查看 skynet 的一些运行时数据,而且在需要热更代码的时候也需要借助控制台来实现。接下来,我们先看看如何使用控制台,然后在大致看一遍底层的源码实现。工具准备由于启动控制台服务后,需要借助 nc 或 teln...

2018-03-15 09:29:38

阅读数 2080

评论数 0

原创 Skynet服务器框架(十一) 看懂 skynet 的 Makefile

Makefile 这个东西最早是在大学学习 Linux 下编写 C 程序的时候接触到的,但是,基本上都是用完就还给老师了。最近也是因为使用 skynet 框架开发服务器,才想起重新拾起这个技能。今天就以 skynet 里面的 makefile 为例,大概解读一遍。什么是 Makefile1. 什么...

2018-02-27 17:22:50

阅读数 1920

评论数 1

原创 Linux 和 Windows 下配置 SSH(复用已有的公钥)

假如项目中添加了需要使用 ssh 方式连接服务器的 git 子模块,则需要配置 ssh 公钥,这里我是直接复用之前用过的公钥,这样我们可以在多台设备上使用同一份公钥。 复用旧公钥 在 ~/ 目录下新建 .ssh 目录,然后复制已有的 id_rsa 和 id_rsa.pub 到此目录下,然后...

2018-02-27 16:43:12

阅读数 1353

评论数 1

原创 Unity 带 Alpha 图片手机包失真

iOS 图集压缩失真 在 Android 平台下 UI 图片一切正常,但打包到 iOS 上之后,带透明度的区域会出现明显的失真,排查之后才发现,对于设置了 Package Tag 参数,即打包到图集中的图片,使用 Unity 默认的压缩设置的话,会使用 PVRTC 4 bits 进行压缩,此时:...

2018-02-05 20:36:32

阅读数 513

评论数 0

原创 Docker 入门须知

前言: 之前大概了解了一下 Docker 的一些皮毛,知道 Docker 是基于 Go 语言开发的容器技术,可以在同一台服务器上构建多个互不干扰的干净的隔离环境。 Docker 的优点: 相比于传统的虚拟技术,容器可以以更低的成本为应用提供一个干净的隔离环境,原因大致如下: 传统...

2018-01-14 14:09:04

阅读数 326

评论数 1

原创 H5 游戏主流引擎和编程语言

引言:最近微信新版本,主推小程序中的小游戏模块,一个 “跳一跳” 的 H5 游戏瞬间爆火,虽然很多传言说 H5 真正盈利的时机未到,因为它的突出作品大多是简单的小游戏,好玩但不吸引付费。然而,H5 游戏巨大流量和强大的日活跃还是可以转化为利润的。

2018-01-14 13:38:09

阅读数 20503

评论数 0

原创 Unity 移动端 The file 'none' is corrupted. 报错解决

Editor 上不报错,打成 ab 包在移动端报错 1. 应用背景:我出现此问题的背景环境是: 我使用一个自定义的列表组件来管理列表 item 的循环复用; 然后 item 做成一个预制体,跟列表界面预制体放在同一目录下; 列表组件中通过一个 public GameObject itemPref;...

2017-12-02 16:44:41

阅读数 1276

评论数 0

原创 Unity 从 protobuf 2.5 升级到 3.x 【踩坑】

之前使用 protobuf 2.5 的版本来定制和读取表格,为了适应后端 golang 的工具选型,需要将前端的的一些库和工具都升到 3.x 的版本,例如, C# 中要使用 protobuf 需要引入一个编译好的 protobuf-net.dll 库文件。Protobuf 3.4.x :1.资源下...

2017-10-24 09:59:24

阅读数 4116

评论数 0

原创 Python 文件数据批量录入数据库(MongoDB)

引言:我写博客的习惯基本上都是: 使用 Typora 或者 haroopad 这样支持 Markdown 语法的实时可视化编辑器先编写好,然后再发布到 CSDN 或者我自己的 hexo 博客地址上。 不在在线编辑器上编写的原因是可以博客本地备份而且内容不容易丢失。所以,此时假设我们写完了一篇博...

2017-09-16 15:01:23

阅读数 1968

评论数 0

原创 《Unity 3D游戏客户端基础框架》tolua 框架接入

引言:如何将 tolua 框架接入 Unity 项目中,这里假设我们已经有一个项目,并且已经实现了一些基础架构或者项目已经是完整的,此时,如何将 tolua 这个热更新框架接入进来而不影响原项目的结构?tolua 引入:1.资源下载:既然要将 tolua 引入项目,第一步肯定是先到 tolua ...

2017-09-03 10:57:54

阅读数 14743

评论数 4

原创 Lua 5.3 源码解读(一) VS 2015 编译源码

引言:用 lua 来编写功能的时间很长,但对于 lua 的底层原理其实知之甚少,只知道它是开源的,用 C 语言写的。今天趁着手头任务不紧,想着还是花点时间读读源码吧,总得调点恶心自己的事情干干知道自己的极限在哪里

2017-08-30 20:56:30

阅读数 7726

评论数 8

原创 Python 编写自动化工具

引言:在开发过程中,我们经常需要编写一些自动化的工具,例如: Windows 下的 BATCH (批处理) Linux 下的 Shell 等 但是假如我们要做跨平台的开发,根据每个平台去开发一套功能相同的自动化脚本显然不是最好的选择,选择跨平台通用的脚本是更好的选择,Python 就是常用...

2017-08-29 00:41:44

阅读数 30479

评论数 13

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