Unity误区——Fixed Bug
Unity Bug 整理 解决方案
两水先木示
有时候,你不知不觉就完成了一个BUG!
展开
-
【Lua坑】Lua协程coroutine无法正常完整执行问题
(持有已入池对象行为)后面发生什么就是你会发现有些协程好像无法正常执行完成,明明上一个还在正常输出,下一个就突然消失了,也就是存在这种持有已入池对象行为,要把这种行为全部抹除才能恢复正常,或者直接干脆不用对象池了,可能性能开销会上升点,不然就得排查全部相关的持有代码,将上面代码加一行延迟1帧或延迟渲染结束就能解决问题(保证至少执行过1次延迟!我试过在remove后直接将co=nil,insert时检查co~=nil再进行,还是会有异常情况。如果Lua协程本身是没有对象池缓存机制的,那就不会存在我说的问题。原创 2024-09-18 18:20:59 · 434 阅读 · 0 评论 -
Unity版本升级2022 Gradle 升级7.x版本调整
务必删除mainTemplate.gradle的所有maven{ url ... },所以查到是仍然支持的,但现在只需要settingsTemplate.gradle。settingsTemplate.gradle是新增的一个文件,用于统一管理所有的maven依赖加载路径。并且位于最前方,如果你还有其他的maven{ url ... } 请放置在它们下方。调整settingsTemplate.gradle文件的maven,必须添加有。mainTemplate.gradle有所变化,主要如下标红行。原创 2024-09-04 11:13:21 · 638 阅读 · 0 评论 -
【Google】您的最新正式版本 (xx (x.x.xx)) 中存在 SDK 方面的问题 com.google.android.gms:play-services-safetynet
解决google发布后警告safetynet问题, 查看Android项目依赖项(树结构)方法。com.google.android.gms:play-services-safetynet问题原创 2024-03-20 16:38:11 · 606 阅读 · 1 评论 -
【Unity】com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnable Java heap space
launcher:signReleaseBundle com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnable Java heap space 原因:JVM使用空间不足,一般是工程非常大时候会突然出现,而且出现时会有很多其他额外的报错,均是JVM无法正常运行时导致的后续各种依赖库之类的报错。解决方案:提升JVM可使用空间原创 2024-03-08 11:46:29 · 777 阅读 · 1 评论 -
【Unity】崩溃JNI CallVoidMethodV called with pending exception java.lang.SecurityException: listen
(同理设置PlayerSetting - Mute Other Audio Sources勾选),默认为false,为true会导致游戏后台无法播放音乐,只允许有游戏音乐。问题:mumu模拟器12 (Android12版)调起Google登录窗口,输入账密或直接选账户后,窗口正常关闭,紧接着应用崩溃(闪退)查日志得出如下报错。TelephonyManager.listen 在Andorid12 已过期,因此导致一系列错误而崩溃。升级Unity引擎(如:2021.3.12f1)原创 2024-03-05 15:44:19 · 738 阅读 · 0 评论 -
【Unity】UnityWebRequest time out 0 bytes received问题
关键词:UnityWebRequest、Http协议、Get请求、0 bytes received。网上方案(均无法解决)request.useHttpContinue = false自定义downloadhandlerSystem.Net.ServicePointManager.DefaultConnectionLimit=50(默认为2)最终方案:可更改为Post方式请求解决。原创 2024-03-05 15:05:43 · 532 阅读 · 0 评论 -
【Google】转让谷歌应用流程及注意事项
转让应用后,谷歌支付服务器验证失败,无权限,应用内商品无法购买问题解决方案原创 2024-02-29 17:56:25 · 888 阅读 · 2 评论 -
【Unity】导入IAP插件后依赖冲突问题 com.android.billingclient冲突
意思就是项目自身有引入billing:6.0.0版本模块,它内部有一个com.android.billingclient组,和某个插件(IAP)引入的依赖billing:3.0.3版本模块冲突,即com.android.billingclient组被重复引入了,Unity不知道用哪个,因此直接忽略掉某一个即可。exclude group: '组名', module: '模块名'如果你报错的是其他的,就一个个改填上去就好了。原创 2024-02-28 17:28:30 · 790 阅读 · 0 评论 -
【Unity】双击C#脚本文件以单个文件打开(Visual Studio)、父类找不到、引用找不到、无法跳转等问题
问题:新安装一个Unity后,突然发现在工程里双击C#脚本,会一个一个打开,虽然也是用VS软件打开了,但是它无法被正确识别为Unity工程的C#脚本,也就是说所有命名空间无效,因为没关联上整个工程的解决方案。我们选用了具体的某个IDE后,在Unity里双击.txt后缀文件依然会使用VS打开,这时候就要采用特殊方法去实现用指定一个exe软件打开指定后缀的文件。关键词:C#脚本异常、IDE智能提示无效、命名空间无效、父类无效、无法跳转引用、指定后缀文件用指定exe打开。原创 2024-02-21 18:29:52 · 1271 阅读 · 0 评论 -
【Unity3D】Android打包报错AAPT2:xxx Linkxxx
也有离线maven玩法的,也就是自己做本地maven库,使用mavenLocal()替代google()和jcenter()其中3.4.0就是你当前的gradle plugin版本 对应gradle是5.1.1,这些对应关系能百度到不再阐述。找最新可用的镜像url,替换google()和jcenter(), 可以直接使用public替换这2个。Gradle Plugin 与Gradle版本不匹配问题 或 相关依赖库下载不完全问题;原创 2023-12-05 13:49:19 · 620 阅读 · 0 评论 -
XmlException: An XML comment cannot contain ‘--‘, and ‘-‘ cannot be the last character. Line 11, pos
- 注释信息 --> 是否写错了,比如。-- 注册信息 -- > 多一个空格之类的。原创 2023-11-29 10:29:18 · 406 阅读 · 0 评论 -
【Unity3D】获取UGUI位置不正确问题
1、Layout影响,布局控件导致位置异常,必须强制刷新才可以正常获取位置2、Animator影响,动画控制器锁死最后一帧,参数无法赋值,参数被完全锁死。原创 2023-11-07 11:57:59 · 456 阅读 · 0 评论 -
【Unity3D】实现UI点击事件穿透
注意:EventSystem.current.RaycastAll获取到的对象列表是能够接受事件的,假如你的按钮Button自己身上没有Image,而是Button的子物体有,那么你就要给这个子物体也加上标签Tag才能响应到。如果ExecuteEvents.Execute不管用,可以试试ExecuteEvents.ExecuteHierarchy。原创 2023-10-02 16:46:46 · 1956 阅读 · 0 评论 -
【Unity3D】UGUI物体世界坐标转屏幕坐标问题
扩展:RectTransformUtility会直接转成Vector2(未测试是否正常)如题: UGUI物体世界坐标转屏幕坐标问题,获取UI(UGUI)屏幕坐标问题等相关问题。按道理屏幕坐标是Vector2,所以Vector3里会有一个。(UI物体的世界坐标Vector3),会返回一个。原创 2023-09-30 17:27:02 · 1661 阅读 · 0 评论 -
【Unity】预制体材质变(Clone)克隆体问题
② 添加条件判断,脚本所在物体本身是预制体则不执行克隆代码,否则正常执行。① 转移这段克隆代码到外部。1、排查代码是否存在直接修改预制体的材质为克隆体。解决:删了这段代码。原创 2023-08-31 10:42:43 · 2070 阅读 · 0 评论 -
Firebase-Google Auth(login): com.google.android.gms.common.api.ApiException: 10
我的情况是上传了Google Console发布(内部测试),这个发布出去后Google自己会生成一个包签名重新签名,所以SHA-1就不正确了(已经不是我们自己的包签名SHA-1了)如果你是发布到谷歌平台的,要检查凭据里的信息是不是都用到了Google Console提供的SHA-1,以及firebase的SHA-1也是要用谷歌提供的。找到这个上传密钥证书,使用它下面里面的SHA-1和SHA-256,填充回对应firebase管理页面的应用配置SHA-1里。软件包名称就是包名, com.xxx.xxx。原创 2022-10-26 11:17:49 · 2915 阅读 · 0 评论 -
【Unity】二次打开Unity安卓应用一直白屏问题
没有完全退出安卓Activity导致,Unity的Application.Quit()方法存在问题,需要在安卓写Java代码如下所示,Unity调用该方法去进行彻底关闭app。测试环境Unity20212.1f1c1安卓——雷神模拟器可测试。原创 2022-07-30 15:50:40 · 1271 阅读 · 0 评论 -
【Unity 2021.2.1f1c1】Unity Export Android Crash导出安卓工程Unity崩溃
重现过程Android-ExportProject勾选-Build,弹出选择导出工程文件目录地址弹窗,在该选择目录弹窗新建一个新的文件夹目录,选中它作为导出目录,点击确认,Unity崩溃。解决方法不要在选择导出目录弹窗新建文件夹,必须选中已有的文件夹作为导出目录,也就是你必须提前创建好这个导出目录文件夹。ExportAndroidProject崩溃crash问题。...原创 2022-07-30 15:34:38 · 1469 阅读 · 0 评论 -
【Unity】Android的onKeyDown接口无效
这dispatchKeyEvent其实就是捕获截取了一些安卓消息,上例子就是截取了KEYCODE_BACK(切后台)消息,并且event的Action是点击(ACTION_DOWN)以及Repeat次数是0次单击退出按钮。2、Unity游戏应用,实现安卓活动dispatchKeyEvent接口有效,并且该接口会替代Input系统的消息监听,让Input系统无法正常监听KeyCode.Escape消息。1、Unity游戏应用,安卓活动onKeyDown接口无效,它被Unity实现的Input系统替代。...原创 2022-07-30 00:11:21 · 885 阅读 · 0 评论 -
Unity3d空包打apk报错汇总
解决方案删除debug.keystore。提示无法删除,需先打开任务管理器关闭。原创 2022-07-26 13:35:26 · 758 阅读 · 0 评论 -
[ts]Typescript学习记录坑点合集
传递进去的方法这个参数不要再用...剩余参数关键字去定义了,不然的话就相当于你把params数组传递给了一个新的数组,那么你传递进去的方法体里只能用参数[0]去获取到传进来的数组。有些地方不理解...的使用方法,可能会有人定义成...paramsany[],但是传给它的却不是any[],只是单个变量,其实这是有问题的,按照我的理解是有问题的,按道理是会报错的,如果使用者把params[0]当做了数组去使用的话,但实际拿到的却是一个单个变量比如int。所以输出的是1,a,true,3.14。.........原创 2022-07-23 23:55:58 · 988 阅读 · 0 评论 -
Failed to install the following Android SDK packages as some licences have...
AndroidStudio报错问题原创 2022-02-15 10:48:02 · 1911 阅读 · 0 评论 -
【Unity】Dotween VerifyActiveTweensList WARNING: - Inactive Tweens Within Lookup (1)
dotween警告 物体显隐原创 2022-01-07 14:35:10 · 656 阅读 · 0 评论 -
Lua 5.3.4 for遍历问题
如上若不小心将遍历参数之一变成string类型,则可能会产生小数点number,从而导致一系列问题解决方法:将所有遍历参数转成number原创 2021-09-26 11:24:19 · 109 阅读 · 0 评论 -
error: resource style/Theme.AppCompat.NoActionBar (xxx:style/Theme.AppCompat.NoActionBar) not found.
FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':launcher:processReleaseResources'.> Android resource linking failed error: resource style/Theme.AppCompat.NoActionBar (aka com.test.k22:style/Theme.AppCompat.No.原创 2021-09-22 16:33:22 · 5057 阅读 · 0 评论 -
AAPT: error: attribute cardBackgroundColor (aka com.x.x:cardBackgroundColor) not found.
* What went wrong:Execution failed for task ':launcher:processReleaseResources'.> Android resource linking failed C:\Users\Administrator\.gradle\caches\transforms-2\files-2.1\a3890adfdb75cc00c9c342ba929acf1b\res\layout\com_facebook_device_auth_dial.原创 2021-09-22 16:31:11 · 2340 阅读 · 0 评论 -
Unity接入第三方SDK aar/jar没有sdk的依赖文件 和 Unity2019丢失UnityPlayerActivity问题
用Android库工程形式接入sdk 安卓API之后,生成aar或jar文件导入Unity使用,Unity与Android有交互情况下,必然用到了UnityPlayerActivity类,在Unity2019版本,这个UnityPlayerActivity.java文件不在classes.jar包里面了,需要人为地拿到它拖到工程里使用,具体介绍在这篇文章:https://blog.csdn.net/qq_39574690/article/details/120326031由于安卓工程接...原创 2021-09-17 01:26:56 · 2216 阅读 · 0 评论 -
Unity 2019 Android与Unity通信 UnityPlayerActivity找不到相关问题记录
解决思路:https://blog.csdn.net/LM514104/article/details/108518253需将C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player下的UnityPlayerActivity直接拖入安卓工程MainActivity(继承于UnityPlayerActivity)的目录下。之后打包出的arr只需获取里面的AndroidMani原创 2021-09-16 11:54:14 · 5399 阅读 · 6 评论 -
【Unity3D】Animator组件相关问题
一、无法修改携带Animator组件的物体属性问题1、播放动画状态结束后,如果没有进行任何连线切换到下一个状态了,此时Animator默认会保持这个动画控制过的属性不变的,即不允许修改了。解决方案:将Culling Mode设置为Cull Update Transforms 即剔除更新Transforms属性,即Transforms属性不会被保持不变了。Cull Completely是全部动画控制过的属性都不会去维持不变了。默认是Always Animate 即总是维持在最后一帧的属性。注.原创 2021-04-10 11:42:06 · 1842 阅读 · 3 评论 -
【Unity3D】安卓平台上Physics.Raycast射线检测物体问题
射线检测代码:RaycastHit hit;Ray ray = camera.ScreenPointToRay(Input.mousePosition);if(Physics.Raycast(ray, out hit)){ //..}这段代码在安卓平台无论真机还是模拟器均无法正常射线检测到MeshCollider碰撞器的物体,而BoxCollider能正常检测到。目前原因未查明,解决方法则是改为BoxCollider。...原创 2021-03-24 19:50:56 · 1088 阅读 · 0 评论 -
【Shader】UnityShader那些莫名其妙的bug
目录一、iOS环境1、编辑器环境①渲染超大贴图8192尺寸时,渲染情况异常2、真机环境二、安卓环境1、编辑器环境②渲染粒子特效小贴图时,渲染异常。(可能iOS环境也存在问题!)三、PC环境一、iOS环境1、编辑器环境①渲染超大贴图8192尺寸时,渲染情况异常具体问题:一个粒子特效,渲染粒子贴图时透明混合无效了,就像是alpha值没有了一样,shader是简单的顶点片元着色器,采样了摄像机深度图和计算投影空间的自身深度进行基于深度的边缘检测,接着是各种混合贴图和原创 2021-03-22 21:42:51 · 1137 阅读 · 0 评论 -
【Unity3D】URP项目摄像机问题
1、解决作为Canvas的摄像机看不见任何UGUI问题Camera上有一个脚本用它来专门设置一些Camera类找不到的新属性,例如Stack属性添加新的摄像机先引入using UnityEngine.Rendering.Universal; 命名空间 Camera camera = ... var v = camera.GetUniversalAdditionalCameraData(); v.cameraStack.Add(...); v.cameraStack.R.原创 2021-03-20 10:47:05 · 2393 阅读 · 0 评论 -
【Unity坑】脚本丢失引用相关问题
1、预制体身上的脚本有一个引用了预制体自身上的某个子物体,在Unity2019版本上的预制体编辑模式下,能够看到这个引用是存在的,但直接选中预制体看Insperator面板上的脚本引用是不存在的,没有missing 是none。实例化预制体出来也是不存在引用。原因未知,解决方法是删掉预制体,重新从版本库中拉取 或者 进入预制体编辑模式后,把引用置空,再拖拽赋值一遍。...原创 2021-02-05 11:51:14 · 4493 阅读 · 0 评论 -
【Lua坑】浮点数问题
浮点数精度问题:例如:local number = 0, 一直加一个分数例如 1/3 ,现实情况中 1/3 * 3 = 1,但是计算机会识别为 1/3 = 0.3333333... 然后这3个数相加,得出0.9999999999... 因此 1/3 * 3 近似等于1此时如果你代码写了 number >= 1.0 是不成立的, 但是你打印的number 却是 1.0, 因为lua的打印会将 0.9999999...四舍五入为 1.0 打印出来给你看。真实数据打印方法可以用 m...原创 2021-02-04 11:27:09 · 2811 阅读 · 0 评论 -
【Lua坑】IntelliJ IDEA编辑器的智能提示相关问题
---@class 子类名 : 父类名local 子类名 = class("子类名", 父类名)return 子类名注意:---@class 子类名 : 父类名 必须在local 子类名那一行之上,不能隔空行,隔开空行都会导致无法正确提示父类成员。即---@class无效类似其他的---@ 也要注意这种问题,---@xxx 就是用于修饰某个变量的,如果隔开空行可能会无效。例如你这样子写就无效了。---@class 子类名 : 父类名local 子类名 = class("子类名",.原创 2021-02-04 11:22:41 · 415 阅读 · 0 评论 -
【Unity】动态创建Timeline资源(.playable)
var asset = TimelineAsset.CreateInstance<TimelineAsset>(); AssetDatabase.CreateAsset(asset, "Assets/test111111.playable"); var track = asset.CreateTrack<DialogueTrackLua>(null, "tt"); var clip = ...原创 2021-01-11 09:36:54 · 2226 阅读 · 0 评论 -
【Unity】XLua巨坑汇总
一、拓展方法未生效问题最近在使用GameFramework框架,并且接入了xlua,在xlua的一开始Init.lua 我使用如下代码获取了一个全局类声明GameEntry = CS.StarForce.GameEntry 注意:Init.lua是游戏启动Lua时最先执行的lua文件用于require其他lua文件的接着我在各种UI使用它,遇到了无论我怎么检查都已经引入所有类型到Lua了(即LuaCallCSharp列表里),在我使用如下代码报错。GameEntry.Sound:.原创 2020-11-17 00:50:58 · 1380 阅读 · 0 评论 -
IDEA 2020 配置Emmylua插件仍无法调试Lua代码问题
在2020版本Plugins安装EmmyLua后仍然无法正常调试第一种常见情况说明你的项目不是Sources Root标记的,需进行设置一下。再去打开Run -> Attach to Process ... 你会发现没有Unity.exe第一种情况的解决方法https://ci.appveyor.com/project/EmmyLua/emmylua-attachdebugger/build/artifacts安装上面的文件,将压缩包直接拖到IDEA编辑器中安.原创 2020-11-14 21:43:31 · 6781 阅读 · 2 评论 -
Unity——lua文件(.lua后缀的文件)无法被Unity识别问题
官方手册:ScriptedImporter官方手册说明解决方法:将如下文件放入Editor文件夹下,等Unity自动刷新或重新打开Unity即可识别。using System.IO;using UnityEditor.Experimental.AssetImporters;using UnityEngine;[ScriptedImporter(1, ".lua")]public class LuaImporter : ScriptedImporter{ public ove原创 2020-11-14 21:13:27 · 2163 阅读 · 0 评论 -
GameFramework框架——使用过程中遇到的问题
目录一、在Unity编辑器运行时,发现Scene窗口可视区域外全变紫色,Game窗口正常问题二、其他问题会继续总结到后面(留坑)一、在Unity编辑器运行时,发现Scene窗口可视区域外全变紫色,Game窗口正常问题原因是下图的Editor Resource Mode(Toggle)没勾选上导致,可能是在编辑器上,不使用编辑模式时,无法正确加载到某些资源导致,例如天空盒子的材质球之类的,maybe ~二、其他问题会继续总结到后面(留坑)...原创 2020-11-13 23:30:34 · 1544 阅读 · 0 评论