12 无幻

尚未进行身份认证

我要认证

个人喜欢CPlusPlus。

等级
TA的排名 221

Unity SetResolution之后无法获取真实屏幕宽高

原因在安卓机上根据画质去调整分辨率来提高帧率,通过设置【Screen.SetResolution(width, height, true);】方式,但是,发现这种手动设置分辨率后,再通过【Screen Width】去获取屏幕宽度的话,都是手动设置后的值。导致安卓手机分屏模式下,调整尺寸后,也无法获取调整后的屏幕宽高,造成画面进行拉伸。解决既然Unity没有接口可以获取到变化后的窗体尺寸,那么就从Java层入手。手机状态的改变,当横竖屏切换,屏幕尺寸变化,弹出键盘,系统设置改变等条件,就会触发回调事件o

2020-08-29 17:23:34

Unity SimpleAnimation在UI上使用的初始化

原因在项目中加入SimpleAnimation组件,可以对3D物体进行播放动画,但是对UI物体却不能播放动画。分析AnimatorCullingMode默认是CullUpdateTransforms,而这个模式对UI不能进行动画,又不好每次让配置界面人员都去设置这个值。解决所以在挂载脚本的时候,判断当前物体是不是UI,如果是的话,就自动改AnimatorCullingMode值,代码如下: private void Reset() { if (m_Graph.IsV

2020-07-31 21:37:02

Unity 字符串按自然数排序之二

原因在 Unity 中提供了编辑器时的自然数排序(EditorUtility.NaturalCompare接口,见上篇《Unity 字符串按自然数排序》),但是运行时也需要进行自然数排序。解决新建IEnumerableEx.cs文件,代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text.RegularExpressions;public static class IEnu

2020-06-29 21:43:52

Unity 去除自动添加的ACCESS_FINE_LOCATION权限

原因游戏莫名添加了ACCESS_FINE_LOCATION权限,查找Unity 官方手册https://docs.unity3d.com/Manual/android-manifest.htmlLocation APIs (such as LocationService) adds ACCESS_FINE_LOCATION解决工程里并没有使用到LocationService服务,搜索工程发现是Input.location返回了这个服务,而这个是tolua暴露给lua使用的接口,但正常用不到,所以

2020-05-31 17:42:29

Unity Live2D Mask功能失效的解决

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

2020-04-29 21:06:18

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

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

2020-03-31 13:57:43

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

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

2020-02-22 21:37:02

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

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

2020-01-22 17:42:14

Unity 外部 DLL 无法引用 TextMeshPro

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

2019-12-31 19:38:36

Unity TextMeshPro DynamicText 动态文本组件

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

2019-11-30 14:54:27

Unity 获取手机键盘弹出高度

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

2019-10-31 20:14:14

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

问题Unity 游戏项目在进行大版本更新时,会自动下载apk,然后调用安装apk。然而,在安卓系统7+上调用安装apk没任何反应,查看日志为:android.os.FileUriExposedException: file:///storage/emulated/0/xxx.apk exposed beyond app through Intent.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-ConsoleTinyConsole Tiny 是一个 Unity 编辑器 console 窗口的有力替代品。功能文本搜索过滤多行日志显示颜色标识的调用堆栈双击堆栈进行跳转自定义过滤项外部 DLL 支持跳转安装Unity 5.x将UnityEditor.Facebook.Extensions.dll 放到 Assets\Editor\Unity 2...

2019-08-31 15:50:40

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

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

2019-07-30 20:23:10

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

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

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

2019-04-27 11:06:26

Unity 识别文件名大小写不同

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

2019-03-31 15:10:33

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

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

2019-02-27 19:16:41

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。