11 无幻

尚未进行身份认证

个人喜欢CPlusPlus。

等级
博文 510
排名 183

Unity 集成 Python 2.7 环境

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

2019-05-23 19:34:48

Unity Sprite Packer Overview 图集总览工具

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

2019-04-27 11:06:26

Unity 识别文件名大小写不同

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

2019-03-31 15:10:33

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

原因在使用Unity开发的游戏中,避免使用Resources文件夹,而使用AssetBundle打包,但是TextMeshPro组件自带了Resources文件夹,此时AssetBundle资源如果引用了它,那么就会把TextMeshPro打成AssetBundle,造成冗余。但是如果仅把TextMeshPro的Resources文件夹改名掉,就会造成...

2019-02-27 19:16:41

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

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

2019-01-31 20:44:14

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

原因Unity推荐使用TextMeshPro来代替内置的现有文本组件如TextMesh及UIText,因为TextMeshPro可以渲染出非常清晰的文本。在使用过程中发现,发现有以下问题:TextMeshPro需要先生成一张静态字体图集,每当静态文字增加时,都需要打开自带的生成工具,一个参数一个参数的设置,非常麻烦,也不便于其他人员使用。每一个字体资产都会...

2018-12-08 11:29:14

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

Unity版本5.6.6f2在使用Android的IL2CPP时,发生编译报错,报错内容如下所示:stdout:IL2CPPerror(nofurtherinformationaboutwhatmanagedcodewasbeingconvertedisavailable)Additionalinformation:Buildad...

2018-11-30 17:41:28

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

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

2018-10-31 19:24:52

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

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

2018-09-28 21:00:24

Unity 动画文件过渡帧的处理

原因技能镜头是直接在3dsMax里面跟动作一起设计的,导出到Unity直接进行播放。然而因为导出的动画是连续的,在中间的镜头切换时,会产生过渡帧,影响表现。解决因为FBX动画是只读,无法进行编辑,所以需要拷贝一份动画文件,再对这份动画文件进行编辑。另外,对于动画的旋转插值来说,切镜头肯定会出现大于180度的情况,所以要将插值改成欧拉角插值方式。代码地址...

2018-08-28 19:23:35

Unity tolua 堆栈日志补充

在Unity中集成tolua框架,业务逻辑在lua中进行编写,日志的输出也由lua传递到unity,将日志进行封装强化可以更直观的排查开发过程中的问题。Lua日志模块处理--输出日志--functionlog(str)  if1>=logDebugLevelthen    Util.Log(traceLast(str,3)) ...

2018-07-31 20:21:16

Unity TextMeshPro 字库的自动生成

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

2018-06-30 18:37:44

Unity AssetBundle 网格丢失顶点色

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

2018-05-12 15:29:40

Unity Toggle 关联动画事件

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

2018-04-30 18:30:12

C# 调用7z压缩Win32Exception异常

原因在使用C#调用了7z外部工具对文件进行压缩时,当太多文件打成一个7z包的话,会报Win32Exception错误。使用Process.Start来调用外部7z应用程序,当参数少的没有进行报错。参考文档,https://msdn.microsoft.com/en-us/library/h6ak8zt5%28v=vs.110%29.aspx?f=255&MSPPError=...

2018-03-30 19:53:47

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

Unity Virtual Folder 虚拟文件夹

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

2018-01-27 12:23:28

Unity 头发随动效果(SpringBone)

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

2017-12-25 19:30:26

Unity SceneView 鼠标所在网格位置

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

2017-11-26 19:14:59

Unity 导航网格生成碰撞体

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

2017-11-18 17:51:29
奖章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。