自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无幻

潜心成魔.....

原创 CoolFormat源代码格式化工具

软件介绍:       CoolFormat源代码格式化是一款C\C++\C#\CSS\HTML\Java\JavaScript\JSON\PHP\SQL\XML代码格式化工具。软件可以快速多种风格格式化,并对语言进行着色。界面采用Office 2010风格,并有多种样式可以替换。并且支持代码高...

2010-03-08 12:42:00 76784 507

原创 Unity Live2D Mask功能失效的解决

在 Unity 中使用 Live2D 来进行动态角色的显示,遇到过当游戏进行一段时间后,角色的眼球随机消失不显示。

2020-04-29 21:06:18 111 0

原创 Unity 不能在节点隐藏的时候更改子节点的父对象

在 Unity 中使用物体池,在父节点进行隐藏的时候,把子物体回归到池里,即重设父对象,但此时 Unity 会报错

2020-03-31 13:57:43 185 0

原创 Unity 动态加载第三方开发调试库

在游戏中加入第三方的开发调试库,但不想默认打包进游戏,只在不同打包选项时,才进行附加上去,然后在游戏里进行动态加载。

2020-02-22 21:37:02 155 0

原创 Unity 使用多线程来写日志文件

目的 自动写日志文件功能,但是不能影响游戏性能,故使用多线程来写日志。 源码 /// <summary> /// 日志文件模块,使用多线程来进行写日志文件 /// </summary> public class LogFileModule { private sta...

2020-01-22 17:42:14 154 0

原创 Unity 外部 DLL 无法引用 TextMeshPro

问题 创建 C# DLL 库来让 Unity 进行引用,但是自建的库需要引用到 TextMeshPro DLL,而在 Unity 2018 里,TextMeshPro 就以源码的形式来存放的,路径在Library\PackageCache,其 DLL 路径在Library\ScriptAssem...

2019-12-31 19:38:36 244 1

原创 Unity TextMeshPro DynamicText 动态文本组件

Unity-TextMeshPro-DynamicText TextMeshPro DynamicText 动态文本组件,动态生成当前界面所需要的字体图集。 原理 基于TextMeshPro1.4.1 版本,收集当前显示所需的动态文本,利用font.TryAddCharacters接口进行生成字体...

2019-11-30 14:54:27 427 0

原创 Unity 获取手机键盘弹出高度

目的 在手机上进行聊天时,键盘弹起会盖住聊天窗口,所以需要键盘弹起的时候,将界面也进行上移。 解决 安卓 publicint GetKeyboardHeight() { using (var unityClass = new AndroidJavaClass("com...

2019-10-31 20:19:28 754 3

原创 Unity 在安卓7+以上调用安装apk

问题 Unity 游戏项目在进行大版本更新时,会自动下载apk,然后调用安装apk。然而,在安卓系统7+上调用安装apk没任何反应,查看日志为: android.os.FileUriExposedException: file:///storage/emulated/0/xxx.apk expo...

2019-09-29 09:52:23 124 0

原创 中点画线算法(任意斜率)

基本原理 在画直线段的过程中,当前像素点为(xp ,yp ),下一个像素点有两种可选择点P1(xp +1,yp )或P2(xp +1,yp +1)。若M=(xp +1,yp +0.5)为P1与P2之中点,Q为P理想直线与x=xp +1垂线的交点。当M在Q的下方,则P2应为下一个像素点;M在Q的...

2019-09-29 08:56:22 22560 9

原创 Unity 控制台 Console 插件增强显示

Unity-ConsoleTiny Console Tiny 是一个 Unity 编辑器 console 窗口的有力替代品。 功能 文本搜索过滤 多行日志显示 颜色标识的调用堆栈 双击堆栈进行跳转 自定义过滤项 外部 DLL 支持跳转 安装 Unity 5.x 将UnityEditor....

2019-08-31 15:50:40 689 2

原创 Unity 2018 渐进式光照系统可能引起的闪退

现象 在使用 Unity 2018 开发项目的时候,某个场景在停止游戏的时候,会导致有些人的 Unity 闪退掉,另外有些会报错,错误如下: OpenCL GPU device GeForce GTX 750 from NVIDIA Corporation has less than 2 GB o...

2019-07-30 20:23:10 803 0

原创 Unity TextMesh Pro 文本组件之字体图集生成工具(2018 修改)

问题 Unity 项目从 5.x 升级到 2018,基于 TextMesh Pro 实现的字体图集生成工具,因为 TextMesh Pro 被 Unity 内置到引擎里,不再提供DLL,导致工具编译失败。 原因 代码发生了变化,字体图集生成实现调用了不开放的接口,比如: GlyphLoadFlag...

2019-06-30 12:48:54 711 0

原创 Unity 集成 Python 2.7 环境

原因 Unity 使用 protobuf 来做网络传输和数据配置,一直使用 bat 的方式来调用生成数据,但是在 mac上无法使用,非常不便。跨平台的工具语言能够更方便进行进行不同平台的操作。使用 bat 的方式,代码难写,且难以复用。但是 Windows 下没有提供 Python 环境。Mac ...

2019-05-23 19:34:48 1009 0

原创 Unity Sprite Packer Overview 图集总览工具

Unity Sprite Packer Overview Unity 图集总览工具 原因 Unity Sprite Packer 工具当图集多的时候,切换查看图集非常不方便,也没有可以对所有图集进行总览的功能。所以增加这个小工具,来方便进行查看和跳转。 示意图 地址 GitHub:https:/...

2019-04-27 11:06:26 198 0

原创 Unity 识别文件名大小写不同

原因 游戏工程使用GIT进行版本控制,GIT的一个特征是不对文件名大小写敏感,需要手动去对单个文件进行重名操作,若是有人不是通过重名,就无法上传。在Unity Windows 编辑器读取正常,在安卓下就有可能读取不到文件。 解决 若是在Windows 下也能识别到文件的真正名称就没有这个问题。增...

2019-03-31 15:10:33 685 0

原创 Unity TextMesh Pro 组件的 Resources 文件夹打包

原因 在使用 Unity 开发的游戏中,避免使用 Resources 文件夹,而使用 AssetBundle 打包,但是 TextMesh Pro 组件自带了 Resources 文件夹,此时 AssetBundle 资源如果引用了它,那么就会把 TextMesh Pro 打成 AssetBund...

2019-02-27 19:16:41 924 0

原创 Unity 在编辑器下模拟刘海屏显示

原因 在实现支持刘海屏时,为了可以方便在编辑器下直观查看效果,也方便其他人员进行调整,需要可以在编辑器模拟显示刘海屏。 原理 模拟显示刘海屏黑边,那么就得在左右两侧动态添加两个黑色图片,来模仿刘海屏。 代码 了防止分辨率小于刘海屏的也开启模拟,所以添加分辨率比判断,小于一定比例不是刘海屏。 ///...

2019-01-31 20:44:14 1385 0

原创 Unity TextMesh Pro 文本组件之字体图集生成工具

原因 Unity 推荐使用 TextMesh Pro 来代替内置的现有文本组件如 Text Mesh 及 UI Text,因为 TextMesh Pro 可以渲染出非常清晰的文本。在使用过程中发现,发现有以下问题: TextMesh Pro 需要先生成一张静态字体图集,每当静态文字增加时,都需...

2018-12-08 11:29:14 2126 0

原创 Unity Android IL2CPP 编译报错的一种可能原因

Unity 版本 5.6.6f2 在使用 Android 的 IL2CPP 时,发生编译报错,报错内容如下所示: stdout: IL2CPP error (no further information about what managed code was being conver...

2018-11-30 17:41:28 3362 0

原创 Unity 资源断舍离(资源清理重复以及引用被引用查找)

原因 在游戏制作过程,随着资源越来越多,可能存在重复的资源,也需要删除不被使用的资源,但是如果使用 Unity 的 API 去查找引用关系将会很耗时间,另外,资源都是对应使用的,比如 UI 图片只在 UI 界面上进行引用,所以不需要去查找其他地方是否引用到。 目标 实现可以自定义类别的资源清...

2018-10-31 19:24:52 3571 10

原创 Unity 编辑器下多线程处理文件

原因 在unity编辑器下打算用多线程来查找处理里面的资源,但又想阻塞主线程,防止用户操作unity,又能准确显示多线程的进度。在分析unity编辑器的使用多线程示例后,发现可以用 ManualResetEvent 信号来通知主线程。 解决 主线程阻塞掉,直到信号通知继续执行下面的操作。另外...

2018-09-28 21:00:24 1580 0

原创 Unity 动画文件过渡帧的处理

原因 技能镜头是直接在 3ds Max 里面跟动作一起设计的,导出到 Unity 直接进行播放。然而因为导出的动画是连续的,在中间的镜头切换时,会产生过渡帧,影响表现。 解决 因为 FBX 动画是只读,无法进行编辑,所以需要拷贝一份动画文件,再对这份动画文件进行编辑。 另外,对于动画的...

2018-08-28 19:23:35 2232 0

原创 Unity tolua 堆栈日志补充

在 Unity 中集成 tolua 框架,业务逻辑在 lua 中进行编写,日志的输出也由 lua 传递到 unity,将日志进行封装强化可以更直观的排查开发过程中的问题。 Lua 日志模块处理 --输出日志-- function log(str)     if 1 &gt;= lo...

2018-07-31 20:21:16 1229 0

原创 Unity TextMeshPro 字库的自动生成

原因在 Unity 中使用 TextMeshPro 的文本解决方案,当要生成字库图集时,需要通过插件提供的 【Font Asset Creator】工具,但是每次都需要重新设置选项,如下所示:解决反编译编辑器查看其代码,照着其实现步骤再实现一遍,注意的是升级插件的话,也要看下实现的代码是否需要改动...

2018-06-30 18:37:44 3790 2

原创 Unity AssetBundle 网格丢失顶点色

原因在将资源打包成 AssetBundle 进行加载时,发现有一些特效没有达到预期的效果,如下可以看到圆形的硬边:分析将这个特效资源导出到另一个工程,单独打包 AssetBundle 进行加载,发现没有问题,如下所示:对比原 AssetBundle 文件,发现特效里使用的模型因为也被其他特效使用,...

2018-05-12 15:29:40 1295 0

原创 Unity Toggle 关联动画事件

原因Unity GUI 里的 Button 可以通过更改 Transition 类型为动画来关联动画事件,Toggle 组件也可以,但是这些动画事件不是 Toggle 值变化时的通知事件,所以需要专门的通知动画事件。解决简单的脚本来实现,主要是编辑器部分借鉴使用 SelectableEditor ...

2018-04-30 18:30:12 918 0

原创 C# 调用7z压缩Win32Exception异常

原因在使用 C# 调用了7z外部工具对文件进行压缩时,当太多文件打成一个7z包的话,会报 Win32Exception 错误。使用 Process.Start 来调用外部 7z 应用程序,当参数少的没有进行报错。参考文档,https://msdn.microsoft.com/en-us/libra...

2018-03-30 19:53:47 636 0

原创 Unity Windows&Mac 编译和调试外部C#动态库(DLL)

目标实现 外部 DLL 工程:https://docs.unity3d.com/Manual/UsingDLL.html 集成 protobuf-net :https://github.com/mgravell/protobuf-net

2018-02-03 16:07:40 1742 2

原创 Unity Virtual Folder 虚拟文件夹

虚拟文件夹虚拟文件夹用来映射真实的文件夹,方便查找、归纳和汇总。

2018-01-27 12:23:28 618 0

原创 Unity 头发随动效果(SpringBone)

实现角色的衣袖、头发、裙摆、披风、尾巴等,在角色运动时,可以产生随动的效果。

2017-12-25 19:30:26 12924 3

原创 Unity SceneView 鼠标所在网格位置

在使用 Unity 编辑器开发一些功能辅助的时候,想要在地面等其他网格上进行踩点,但是这些网格并没有碰撞体组件,所以只能寻找其他方式来达到鼠标所在即是网格上的点。

2017-11-26 19:14:59 3147 0

原创 Unity 导航网格生成碰撞体

在使用 Unity 导航网格进行点击行路的时候,需要提供碰撞体以让鼠标进行射线检测,来得到目的地的坐标点。但是,当遇到比较复杂的地面时,简单的 Box 碰撞体是不够贴合地面的,使用 Mesh 碰撞体又会更耗费资源,所以需要一种简单快速的铺设 Box 碰撞体方案。

2017-11-18 17:51:29 4280 0

原创 Unity 使用 Unity 直接编译外部 DLL

Unity 集成了 Mono 编译器,所以在 Unity 里面新建 C# 脚本的时候,会自动进行编译。那么,思考可以不可以借助 Unity 的编译接口,来编译外部 DLL 文件。查找 Unity 编辑器的接口,发现有个 API

2017-10-30 19:06:37 2857 2

原创 Unity AssetBundle 冗余检测与资源分析

在使用 Unity 进行开发项目时,通常使用 AssetBundle 来进行资源打包,虽然在 Unity 5.x 版本里提供了更加智能的依赖自动管理,即如果依赖的资源没有显式设置 AssetBundle 名称,那么就会被隐式地打包到同一个 AssetBundle 包里面。而如果已经设置的话,那么就...

2017-09-30 13:10:15 4373 0

原创 Unity AssetBundle 设置名称优化

在大部分的 Unity 分析打包 AssetBundle 过程中,是采用对资源设置 AssetBundle 名称标签的方式来进行打包

2017-08-31 19:09:45 1506 0

原创 Unity 动画模板的创建

在 Unity 中如果角色的动画状态机一致的话,可以采用 动画模板控制器+动画重载控制器 的方式来实现,这样就无需每个角色都创建自己的动画控制器,当增加动画状态时,重载控制器只需覆盖掉相应的动画即可。

2017-07-24 19:07:10 1085 0

原创 C# Epplus 创建Excel表格

EPPlus 可以创建 Excel 2007/2010 表格,官网地址:http://epplus.codeplex.com

2017-06-30 12:42:13 4368 0

原创 Unity plyGame插件技能模块分析

plyGame 是一款Unity游戏引擎的视觉游戏开发工具。它可以让开发者不必编程就可以创建游戏原型,同时仍然允许以脚本方式来与系统API进行交互。plyGame 出于易用性的考虑,提供了用来创建砍杀类RPG游戏的组件和编辑器。

2017-05-27 19:07:48 3228 0

原创 Unity 预览窗口

在 Unity 编辑器界面上可以看到除了 Game 视图、Scene 视图,其他的视图也会出现绘制三维物体的地方,比如检视器的预览窗口,当选中网格时,会对网格进行预览。

2017-04-28 21:49:17 9337 6

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