自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鱼蛋的开发小站

代码创造科技,科技改变世界

  • 博客(167)
  • 资源 (6)
  • 收藏
  • 关注

原创 XR和Steam VR项目合并问题

而SteamVR是OpenVR Loader,而XR是OpenXR,因为OpenVR Loader在前,所以激活的是OpenVR Loader,这也是为什么SteamVR场景可以运行而XR场景不行。事情变的有趣起来,我们知道了这样的原理之后,那鱼蛋我就想着尝试下,在Runtime里动态切换行吧,SteamVR场景切换到OpenVR Loader,而XR场景切换到OpenXR,代码如下。最后的结果就是,没法实现动态切换XR或VR,如果看到此处的人,有办法请告诉我,我尝试了两天用了各种办法,都没法做到。

2024-06-07 11:48:24 752 2

原创 Unity地形关联出错的解决办法以及地形深度拷贝

我们发现,强制拖过去会有一个警告,意思大概是地形数据和该地形的collider数据不匹配。最近发现unity地形系统的一个bug,导入的场景地形数据关联错乱了,关联到别的场景的地形数据了,meta替换了也没用,不清楚它具体是怎么关联的。可以看到正常这个场景的地形数据应该关联的是Scene_Empty_Terrain的数据,但是现在它关联到别的了。其实使用上面的方式已经可以解决了,第二种是想推荐下下面的地形拷贝类,本鱼蛋自己也做个备份,方便后续使用。那我们强制把正确的地形数据拖过去行不行,我们试下!

2024-04-19 11:11:18 644 1

原创 frp内网穿透,让外网可以访问内网

frp 是一个开源的内网穿透工具,当然也可以用nat123。GitHub链接:frp可以将本地局域网的机器暴露到公网,只要有网络就可以访问。支持 TCP、UDP、HTTP、HTTPS,不仅仅限于本地web服务器可以暴露,整台机器都可以暴露,windows的远程控制,mac和linux的ssh都可以被暴露。

2024-04-02 14:41:26 849

原创 如何不依赖Unity直接解压unitypackage的内容

我们都知道unity的资源导出是导出成.unitypackage文件,如果要里面的内容,得打开Unity,将unitypackage导入进去才能看到里面的内容。当然可以,为此我做了一个工具,可以不需要unity直接将unitypackage解压出来,这里我介绍下他的用法,后续我会把工具包上传上来。通过上面的主要代码,我们可以看到其实unitypackage就是一个简单的压缩包,解压出来的文件如下图所示,像乱码一样,文件也不明文。随便找个目录看下,找到pathname。如果需要免费下载该资源包,请加群获取。

2024-03-12 14:12:26 1720 3

原创 Unity使用UnityWebRequest读取音频长度不对的解决方法

在开发的过程中碰到这样一个问题,有的音频文件通过UnityWebRequest读取出来后,AudioClip的Length会不对,比如本身有7秒,读出来只有3秒。知道了区别,我们就知道怎么解决了,对于读出来不对的音频,我们可以通过音频软件转换下,将码率换为正确的48kbps以上,采样数24000Hz以上,即可解决问题。比如这个文件,我们通过windows查看时长有6秒,然后我们通过代码输出,发现只有4.032秒,这样会导致我们代码后面的逻辑有了问题。首先我找了个读出来正常长度的音频,我们进行了对比。

2024-03-05 14:26:44 1090

原创 Unity应用在车机上启动有概率黑屏的解决方案

在PlayerSetting里将Android下的Resizable Window取消勾选,注意是不要勾选在AndroidManifest.xml里将主Activity的android:resizeableActivity设置为true这样可能能解决你们的问题。

2024-01-26 10:39:03 791

原创 谷歌aab包在Android 14闪退而apk没问题(targetsdk 34)

翻译过来就是,Goole I/O 2023讨论的,使用RECEIVER_EXPORTED / RECEIVER_NOT_EXPORTED标志注册接收者是Android 13的一部分,现在是运行在Android 14或更高版本(U+)上的应用程序的要求。Unity应用上线到GooglePlay,有用户反馈fold5设备上(Android14系统)疯狂闪退,经测试,在小米手机Android14系统的版本复现成功了,奇怪的是apk直接安装没问题,而打包成aab就是疯狂闪退。

2024-01-12 16:31:20 3034 1

原创 系统语言德语时浮点数转化问题

因为C#是面向全球性的应用语言,不同国家有不同的文化,借助CultureInfo使整个.NET Framework更加人性化,因为这可以使同一个数据适应不同地区和文化,这样当然满足处于不同地区和文化的用户。但前提是数据给“人”看,如果这些数据用于计算机之间的传输,即给“机器”看,这样的多文化处理反而不妥,造成同一个数据的不同展现形式,尤其是读写两方的文化地区不同时,数据可能根本无法被正常读取或者产生潜在bug。但是在德国,表示小数则是用 逗号,即 0,123。知道了原理,那么就大概知道怎么解决了。

2024-01-12 15:55:03 537

原创 Unity UGUI图片锯齿严重怎么解决

在开发的时候,发现图片锯齿严重,打包到移动端或者在编辑器都这样,如下图。

2023-11-24 12:51:19 2944

原创 各种知名游戏的技术分析

介绍一个GitHub,里面包括了市面上的各种游戏的技术分析,包括渲染管线、工作流、技术文章等等,在做某个类型的游戏的时候,可以针对某个游戏去进行技术参考,特别实用。里面有赛博朋克2077,死亡搁浅,GTA等等,有需要的可以看。

2023-07-26 13:44:14 412

原创 Unity如何快速接入iOS和GooglePlay的成就排行榜等GameCenter功能

一般在游戏开发中,经常有成就排行榜的需求,按照我们的理解,通常是要自己导入谷歌的sdk,或者苹果的sdk,然后封装后通过桥接来调用。其实不用这么复杂,Unity已经帮我们封装好了,直接调用接口。我们可以通过以下方式进行调用,Unity会自动帮我们根据平台进行调用,大大减少了我们的开发效率。目前所有相关的功能都在Social类中。

2023-07-25 18:54:28 1757

原创 AndroidStudio打包AAR供Unity使用流程

最近很多人私信我问如何打包aar的事,因为Android源生开发知识量比较多,如果从头学起就要花很长时间,本篇幅着重来跟大家说说怎么快速打包aar供Unity使用。为什么要打包aar,原因是从新版本2021.2已经不允许直接把res文件放在Plugins/Android目录下了,jar和AndroidManfiest不影响,主要是res目录。这将影响的是,一些旧版本的sdk提供的还是jar+res的方式,需要升级,如果sdk没有提供升级版本的话,那将受到蛮大的影响。那么针对这种情况,我们自己说说如何解决。首

2022-07-07 11:36:46 7374 10

原创 Unity隐藏目录和隐藏文件

在开发的时候,有时候想在项目Assets下放东西但是又不想Unity识别到,可以采用下面的方式,下面我们看官方介绍:Unity - Manual: Special folder names隐藏资源在导入过程中,Unity忽略Assets文件夹(或其中的子文件夹)中的以下文件和文件夹:隐藏的文件夹。 以' . '开头的文件和文件夹。 以“~”结尾的文件和文件夹。 命名为cvs的文件和文件夹。 扩展名为.tmp的文件。效果如下:...

2022-05-24 11:54:55 1766

原创 UGUI Text中文符号句首句尾问题

经常在游戏开发中碰到中文符号在句首或句尾导致显示不正常的问题,而TextMeshPro就没有这些问题因为TMP支持配置,那对于项目中没法使用TMP的情况,而用的UGUI的Text的情况,怎么办呢?比如下图:双引号单独在句尾了,这样显示特别不美观,而版署那边又要求修改。还有这种,句号在句首了,也没奇怪。百度谷歌也没找到合适的方案,或找到的方案有瑕疵,因此特地写了一个类,专门解决这种情况,支持配置避免行尾出现的符号、避免行首出现的符号等等,可直接拿去使用。代码如下:using...

2022-05-19 10:08:15 831 4

原创 Android开发之如何与蓝牙设备相互通信

最近研究了下怎么在Android应用上连接蓝牙设备,就比如安卓应用是怎么与手环进行连接的呢,怎么做到在应用点击按钮,修改手环的设置呢?总体开发流程大概是:搜索蓝牙设备列表 选择蓝牙地址进行连接,等待连接成功 搜索蓝牙设备的Services列表 搜索某个Service的Characteristics 订阅Characteristics 接收消息/写入消息至于如何开发,需要有一定的源生Android开发基础。如何在Unity中接入呢,本质也是类似,就是通过Android Studio输出aa

2022-05-08 10:29:37 783 1

原创 C#如何在Windows上接入蓝牙设备

最近研究了下怎么在windows上连接蓝牙设备,并获取蓝牙设备的消息以及如何向蓝牙设备写入消息。该方法同样适用于Unity引擎。本质上还是获取windows的底层API接口进行调用,连接蓝牙设备的流程大概是:搜索蓝牙设备列表,并获取蓝牙设备的属性,其中有属性值有isConnectable、name等等 选择蓝牙地址进行连接,等待连接成功 搜索蓝牙设备的Services列表 搜索某个Service的Characteristics 订阅Characteristics 接收消息/写入消息至于如

2022-05-08 10:21:50 3047 6

原创 Unity打包后处理修改AndroidManifest.xml原因开发Quest2蓝牙权限自动被移除

在开发Quest2应用的时候需要用到蓝牙权限,但是一直报错AndroidJavaException: java.lang.SecurityException: Need BLUETOOTH permission: Neither user 10076 nor current process has android.permission.BLUETOOTH.01-24 20:40:47.280 26380 26405 E Unity : AndroidJavaException: java.lang

2022-04-29 22:52:20 3398

原创 Unity NavMesh导航报错“SetDestination“ can only be called on an active agent that has been placed on a Na

在使用NavMeshAgent进行导航的时候,发现调用SetDestination一直报错,报错显示是:"SetDestination" can only be called on an active agent that has been placed on a NavMesh.UnityEngine.AI.NavMeshAgent:SetDestination(Vector3)但是查看地图,发现Bake过了,Agent也在地图上啊,照理说会自动关联到NavMesh地图上的。后来发现是因为N

2022-04-24 16:29:55 6034 1

原创 Unity Slider显示NaN

Slider设置value的时候发现显示不出来,但是数据是对的。但是发现里面的一些对象坐标变成了NaN,很是奇怪啊。遇事先Google,果然世界之大,总有碰到的。UnityでSliderのRectTransformにNanが入ってしまうときの確認箇所 - ArceLife(アルセライフ)我们看看代码:float sliderValue = (float) (videoPlayer.time / videoPlayer.length);timeSlider.SetValueW.

2022-04-12 18:52:22 3530 2

原创 Unity打包报错OBSOLETE - Providing Android resources in Assets/Plugins/Android/res is deprecated, please

将项目从2021.1升级到2021.2的时候,收到一些错误,解决后打包Android包,之前没问题的突然报错了:OBSOLETE - Providing Android resources in Assets/Plugins/Android/res is deprecated, please move your resources to an AAR or an Android Library. See "AAR plug-ins and Android Libraries" section of th

2022-03-13 11:36:45 13010 11

原创 Unity免费库/插件/工具类/扩展集合

推荐一个GitHub关于Unity库/插件/工具类/扩展的集合,都是免费的,里面包含各种各样实用的工具,比如对象池、八叉树、回放系统、粒子、寻路、Debug工具、VR、网络库、物理、AI、Input控制器等等等等,应有尽有。链接:https://github.com/michidk/Unity-Script-Collection我尝试做下翻译:GameObjects & TransformsRecyclerKit- 对象池系统. UnityOctree- Unity八叉树实..

2022-01-06 14:48:00 9353 3

原创 Unity打包报错A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFa

Unity安卓打包报错:A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade

2021-12-05 10:45:52 29644 12

原创 一键反编译Android包教程

某些时候我们想修改apk包内容,比如汉化某个游戏,这时候就需要修改游戏apk的包内容,并重新签名成安卓手机识别的apk文件,下面详细介绍,文章末尾有一键修改工具。确保java环境

2021-10-29 16:43:57 2439 2

原创 Unity打包代码修改gradle.properties或AndroidManifest文件

Unity通过Gradle打包方式会自动生成对应的gradle相关文件,再进行打包,虽然编辑器可以设置一部分参数,但是因为Unity版本不同,参数支持可能不够。以Unity2018.4.17为例仅支持设置部分路径,如需设置gradle版本,并没有地方设置。对于这种情况,其实Unity可以通过IPostGenerateGradleAndroidProject进行设置,不需要升级Unity版本。比如我们可以这样修改打包后的gradle.properties文件,打包完后修改部分参数,..

2021-09-10 12:14:38 4917

原创 Unity调用jar报错Failed resolution of: Lcom/xxx/R$layout

想实现在Android这边写了UI,是继承Dialog的窗口,想通过Unity调用jar弹出该Dialog窗口,进行一些操作,发现弹出时会报错:Failed resolution of: Lcom/xxx/R$layout。根据logcat的报错提示,找到发现是访问R.layout和R.id报了错。Android代码如下:setContentView(R.layout.devices_dialog);findViewById(R.id.lvBluetoothDevices);这错误关键字太难

2021-07-23 11:45:17 1258 2

原创 Unity发布Android App Bundle详解(四)Addressables+Play Asset Delivery分发

在之前文章我们了解到了:Unity aab要我们自己处理,Unity目前没有提供完整的解决方案帮我们自动处理(截止2021.7.16号) 2021.8.1号开始谷歌对新应用只能接受aab格式,而aab的本体包限制在150M aab格式超过150M的应用要自行通过Play Asset Delivery分发 Unity应用需要通过AssetBundle进行包体拆分,然后通过GooglePlay提供的Play Asset Delivery分发那前面的工作我们都准备完毕了,现在我们开始进行aab的打包,

2021-07-16 12:02:30 9329 7

原创 Unity发布Android App Bundle详解(三)快速转换Addressables

概述对于项目本身就使用AssetBundle的来说,打包新格式aab是很容易的,上篇文章已经详细说过了。对于项目之初没有考虑AssetBundle热更新的项目怎么办呢?项目都是采用Resources加载,并且是同步加载的,unity场景资源也较多,没有做好分包设计的怎么办呢?这篇文章我们讲怎么处理。难点场景采用同步/异步加载 SceneManager.LoadScene ("xx",LoadSceneMode.Single); 资源采用Resources.Load加载

2021-07-12 18:02:46 5587 10

原创 AndroidStudio工程打包aab文件

之前的文章说过,Unity可以直接导出aab文件的,用法也很简单,就是Build Settings勾选Build App Bundle(Google Play)选项。而如果是想通过Unity Export Project导出Gradle工程,可以使用下面的方式打包aab文件。Android Studio打包AAB文件1、打开Android Studio工程,打开Build-Generate Singned Bundle/APK...选项注意:该选项上面的Build Bundles(s).

2021-07-12 12:29:11 9443 12

原创 Unity发布Android App Bundle详解(二)Play Asset Delivery介绍

Play Asset Delivery是什么?Play Asset Delivery (PAD) 将 app bundle 的优势带到游戏中。它允许超过 150 MB 的游戏替换旧版扩展文件 (OBB),方法是将包含游戏所需的所有资源的单个工件发布到 Play。PAD 提供了灵活的分发模式、自动更新、压缩和增量修补功能,并且可免费使用。使用 PAD,所有资源包均在 Google Play 上托管和提供,因此您无需使用内容分发网络 (CDN) 向玩家提供游戏资源。Play Asset Delivery

2021-07-08 12:30:30 7569 10

原创 Unity打开淘宝app并跳转到商品页面

最近碰到个需求,是希望在Unity有一个按钮,打开后直接跳转淘宝app,打开商品页面。百度了下没有相关的文章,于是我在此分享下。之前开发游戏的时候就希望引导玩家到应用商店更新游戏,之前采用的方式也是Unity的Application.OpenURL接口,该接口不仅可以跳转到浏览器,还可以跳转到应用并传参数。打开安卓应用商店,?id=xxx(xxx就是你apk的包名)Application.OpenURL("market://details?id=com.egogame.picoadventure

2021-07-05 18:05:26 1282 3

原创 Unity发布aab(Android App Bundle)详解(一)Unity .aab支持情况

从2021.8月开始,谷歌开始禁止新应用使用apk+obb的方式提交应用了,而强制改用新格式.aab。本来想着不用就不用吧,.aab格式应该对Unity很容易吧,查了资料,发现只要在Build Settings勾选Build App Bundle(Google Play)选项即可,如图:勾选后打包,发现确实打出了.aab格式的文件了。但是生活总是开玩笑,发现事情往往没有这么简单。上传到GooglePlay后台后,系统提示“您的App Bundle包含的以下配置会使应用的初始安装大小超过150 M

2021-06-30 14:45:30 17402 9

原创 GooglePlay内购接入错误Google Play In-app Billing API version is less than 3

报错提示:Google Play In-app Billing API version is less than 3

2021-06-11 11:06:04 4152 2

转载 Unity如何与Android交互

引言最近为了实现Unity与Android之间的通信,在网络上发现了很多种实现方案。有打包Jar的,有打包aar的,有直接拷贝文件的。试了几种方案虽然都能解决需求,但是使用起来给我的感觉并不是很舒服。在各种尝试中,已了解了Unity和Android之间通信的底层原理。该方案为本人结合Java特性所给出,可以减少很多其它方案的一些不明确以及繁琐的步骤。本文适用对象有一定的Unity开发经验,会使用Unity 有一定的Android开发经验,会使用AndroidStudio方案优势不需要

2021-06-10 18:23:09 794

原创 Unity接入GooglePlay内购V4 V5 V6(源生Android方式)

Unity接GooglePlay In-App Billing坑还是蛮多的,各种坑。接的方式目前来看有三种:采用Unity IAP插件,开启Unity的IAP Service 采用Android源生接入,在Android Studio接入,然后打包出jar或aar放到Unity项目,使用Unity调用 打包出Android工程,在Android工程中接入这次介绍的是第二种,使用安卓源生方式接入,因为该方式一劳永逸,新项目可以很快就完成接入。为什么不用第一种呢?直接导入IAP插件,然后设置参

2021-06-10 17:52:03 6377 29

原创 TextMeshPro打包后闪退报错UnityEngine.TextCore.LowLevel.FontEngine:TryAddGlyphToTexture_Internal

今天打包安卓apk后运行总是闪退,死活找不到原因是什么,后来看了下log2021-04-28 11:25:33.725 2571-2635/? W/System: Ignoring header Cookie because its value was null.2021-04-28 11:25:38.178 3898-3915/? E/CRASH: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 000000082021-04-28 1

2021-04-28 13:04:24 2071

原创 Git Clone速度太慢的解决方案

Git进行Clone的时候超级慢,解决方法就是可以使用一些镜像网站,跟GitHub保持同步的。最常见GitHub镜像地址: https://hub.fastgit.org/ https://github.com.cnpmjs.org/ 使用方法:如https://github.com/xxx,将地址修改为https://github.com.cnpmjs.org/xxx即可,速度会变很快。...

2020-10-21 11:55:01 750

原创 Unity事件中心Event Center

事件中心支持的用法 简单发送事件: EgoEventCenter.PostEvent("Test"); 发送string类型事件: EgoEventCenter.PostEvent<string>("Test","data"); 发送多个参数事件: EgoEventCenter.PostEvent<int, float>("Test", 1, 2f); 监听事件: EgoEventCenter.AddListener("Test",OnTes..

2020-07-15 13:36:44 2798 2

原创 Unity Json序列化高级用法介绍

虽然Unity有自带的JsonUtility类,但是因为支持的东西太少了而且用的时候有各种限制,比如说不能序列化Dictionary,比如序列化必须要加上Serializable等等,所以我比较习惯的是用Newtonsoft.Json。Newtonsoft.Json的GitHub地址在此,里面可以查看文档,教程等等。如何下载源代码?打开包管理器用户界面Window > Package Manager 然后按jillejr.newtonsoft.json-for-unity包装上...

2020-07-09 15:53:23 1144

原创 unity导入工程报错Unity Package Manager Error

Unity改成Package Manager虽然理念很好,但是总是碰到各种奇葩问题,比如导入工程时,处理Package的时候各种提示报错,导致工程无法正常打开...点continue就闪退了。Unity Package Manager Error报错信息:Unable to connect "https://packages.unity.cn"看来是unity中国的问题。查了资料解决方案如下:加环境变量,直接在cmd下用命令行添加(注意用管理员方式打开),命令如下:setx UNITY_NO

2020-07-07 10:35:30 5861

原创 Unity安卓视频兼容性探讨

在Unity中使用了一段视频,然后使用了VideoPlayer组件进行播放,以下是碰到的一些问题。兼容性问题:Video在很多的设备中视频无法播放,如华为畅享8(安卓8.0)等等,刚开始以为是因为Android系统版本太低不兼容,后来发现Android9的也出现,这就不对了...于是看了logcat输出的log,发现都有这么一条AndroidVideoMedia的log。04...

2020-04-09 17:25:33 4869 6

傻瓜式解压unitypackage,不依赖Unity和Python,支持批量解压unitypackage包

很多时候我们下了几十个unitypackage资源包,又不清楚好不好用,而且导入之后编译特别慢,unity又不提供批量解压的功能,所以这时候就想能不能提前解压呢。 当然可以,为此我做了一个工具,可以不需要unity直接将unitypackage解压出来。 使用说明: *单个解压:适用于只解压一个unitypackage的情况 *批量解压:适用于解压文件夹下包括子目录下的所有unitypackage文件 该工具完全采用傻瓜式使用方法,双击直接操作成功。 使用说明请查看该文章详细讲解:https://blog.csdn.net/egostudio/article/details/136650332

2024-03-12

APK一键反编译签名工具,支持新版安卓v2签名

工具已整合,加bat一键反编译,一键打包,一键签名,支持v2签名,支持使用keystore和pk8签名,想要修改安卓包内容的话非常有用,请结合教程文章查看https://blog.csdn.net/egostudio/article/details/121038001 反编译 1、将apk复制到当前目录下,改名为file.apk 2、双击执行1反编译.bat 3、执行完毕后输出目录为dis/output,修改里面的内容即可 打包 1、修改内容后,双击执行2重新打包.bat 2、等待执行完毕,输出目录dis/files/output.apk 3、当前apk是未签名版本,无法直接使用,请看签名部分 对齐 1、对于新版安卓系统,需要对齐操作,所以执行下对齐,等待提示“success”即可 2、执行完毕后,打开目录dis/files/output-aligned.apk,即可看到对齐后的文件 签名 Keystore名字:“debug.keysotre” Keystore密码:“android” Key别名:“androiddebugkey” .....字数有限,请查看文章观看详细

2021-10-30

PadDemo_Unity.zip

谷歌2021.8.1开始强制使用PAD分发,该资源为谷歌PAD(Play Asset Delivery)的Unity示例工程,使用Addressables+PAD进行分发GooglePlay应用。请结合文章配合使用:https://blog.csdn.net/egostudio/article/details/118360117

2021-09-17

EgoGooglePlay.rar

Unity接入GooglePlay内购V4安卓源码,如何使用,请参照文章https://blog.csdn.net/egostudio/article/details/117784970

2021-07-25

JsonNet.zip

该插件用Unity Package即可下载到,如果你找不到地方,可以下载这个。 比Unity自带的JsonUtility更加强大的Json序列化工具,附带源码和dll。 使用教程在此https://blog.csdn.net/egostudio/article/details/107230021

2020-07-09

svn服务器软件-CollabNetSubversionEdge-5.1.0_setup-x86_64

CollabNetSubversionEdge是一款集成了svn服务器所需要的软件,一键安装即可部署好svn服务器,使用教程看https://blog.csdn.net/egostudio/article/details/46892461

2018-05-20

unity3d chm手册

unity3d chm手册,中文版的离线文档

2015-09-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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