11 无幻

尚未进行身份认证

个人喜欢CPlusPlus。

等级
TA的排名 169

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

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

2019-09-29 09:41:50

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

基本原理在画直线段的过程中,当前像素点为(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的上方,应取P1为下一个像素点。在斜率0<=k<=1的时候,实现代码如下...

2010-04-03 14:31:00

Unity 控制台 Console 插件增强显示

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

2019-08-31 15:50:40

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

现象在使用Unity2018开发项目的时候,某个场景在停止游戏的时候,会导致有些人的Unity闪退掉,另外有些会报错,错误如下:OpenCLGPUdeviceGeForceGTX750fromNVIDIACorporationhaslessthan2GBofglobalmemory,ignoringdeviceforlightmapping....

2019-07-30 20:23:10

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

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

2019-06-30 12:48:54

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

查看更多

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