![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity
w0100746363
最怕你一生碌碌无为,还安慰自己平凡可贵!
展开
-
Unity打包APK失败,提示UnityPlayerActivity.java使用或覆盖了已过时的 API。
Unity打包APK失败,提示:Temp\gradleOut\unityLibrary\src\main\java\com\unity3d\player\UnityPlayerActivity.java使用或覆盖了已过时的 API。仔细看下输出,其实原因已经很明显了,billing-3.0.3.aar和com.android.billingclient-billing-3.0.3.arr里都包含了classes.jar,删掉一个billing包就可以了。......原创 2022-01-25 16:49:02 · 19951 阅读 · 2 评论 -
Unity Editor模式下删除Prefabs里的组件
需求很简单,就是在Editor模式下删除Prefabs中的组件,直接上代码 [MenuItem("Assets/MyTools/删除组件")] public static void RemoveComponent() { GameObject[] selections = Selection.gameObjects; for(int i = 0; i < selections.Length; i++) {原创 2022-01-18 16:16:09 · 3377 阅读 · 0 评论 -
Unity打包APK异常:Cannot fit requested classes in a single dex file (# methods: 65552 > 65536)
异常如题,解决方法:打开Assets\Plugins\Android目录下launcherTemplate.gradle,然后添加如下配置即可android { defaultConfig { // 这里添加 multiDexEnabled true }}dependencies { // 引入multidex库 implementation 'com.android.support:multidex:1.0.3'}...原创 2021-11-30 11:15:29 · 221 阅读 · 0 评论 -
Unity自定义Script模板
Unity默认创建的脚本,继承MonoBehaviour,且自带Start()和OnUpdate()方法,大部分时候都是不需要OnUpdate()方法的,有时候也不需要继承MonoBehaviour,所以来自定义一个模板,省得手动删代码。首先找到Unity中代码模板的位置:Unity\Hub\Editor\2019.4.9f1\Editor\Data\Resources\ScriptTemplates这里面就是Unity创建脚本时的模板了。新建一个文件,命名为:NewC#Script__Ne原创 2021-11-25 15:13:02 · 2675 阅读 · 0 评论 -
Unity VScode鼠标悬停无提示,F12和Ctrl+左键都不能跳转
VScode鼠标悬停无提示,F12和Ctrl+左键都不能跳转解决方案原创 2021-11-24 16:05:06 · 4201 阅读 · 0 评论 -
Unity遍历文件夹及其文件
实现功能:选中某个文件夹,遍历文件夹下所有的子文件夹和某些文件。 [MenuItem("Assets/Test")] public static void TEST() { string dir = SelectAssetDirectory();//被选中文件夹的路径 Test(dir); }...原创 2021-05-19 19:30:49 · 4658 阅读 · 0 评论 -
VSCode部分快捷键和使用设置
VScode使用过程中一些设置和习惯记录一下。1、编辑器中选择一个文件时,资源管理器中的光标会自动跳转过去并选中,体验很不好,可以选择关闭:"explorer.autoReveal":false2、关闭代码缩略图:"editor.minimap.enabled":false...原创 2021-04-01 15:45:38 · 464 阅读 · 0 评论 -
VScode顶部滚动条高度修改
VScode打开很多文件后,顶部会有滚动条,但是它太细了,拖动滚动条的时候很容易就变成了拖动文件,想办法调整一下它的高度。一、从"帮助"-->"切换开发人员工具"打开开发者工具,如下:二、CTRL+F,在搜索框中输入"invisible scrollbar horizontal fade",然后把样式中的height改成15px(默认是3px),这样就可以了上图是默认的滚动条样式,下图是调整过后的滚动条样式,调整高度后,拖动起来就很方便了,不会变成拖动文件了。...原创 2021-04-23 10:27:51 · 1068 阅读 · 0 评论 -
VSCode中找不到UnityEngine.UI命名空间
Unity版本2019.4.9,使用VSCode开发的时候,总是突然的莫名其妙提示UnityEngine.UI找不到,很是莫名其妙!!!网上有不少解决方案:1、打开VSCode中的Assembly-CSharp.csproj,看到里面没有导入UnityEngine.UI.dll,那就仿照UIModule.dll或UIElementsModule.dll格式添加UnityEngine.UI.dll的路径,可是在Unity的安装路径下 完全没有UnityEngine.UI.dll这个文件;...原创 2021-04-01 11:50:46 · 3948 阅读 · 1 评论 -
UGUI和Spine、ParticleSystem遮罩
使用动效时,有时会需要使特定组件外的动效不显示,比如粒子特效只显示在特定区域或当列表中的特效移出显示区域时不显示动效,这时就需要使用遮罩,但是简单的使用Mask对动效是不起作用的。针对Spine动效和ParticleSystem动效需要分开处理。一、在Spine动效中,只需要把Material的Shader从Spine/Skeleton改成Spine/SkeletonGraphic即可,如下图:=>,这样拖动列表时,动效就会被遮住了。2、在ParticleSystem动效...原创 2021-01-21 18:42:16 · 1580 阅读 · 2 评论 -
Unity 用VS断点调试卡死
在Unity中,用VS进行断点调试时,老是卡住,编辑器无响应,要很久很久才能动,很是影响效率,在网上找到几种解决办法,貌似有点效果。1、网上有说是VS占用CPU太高导致的,在VS的安装目录下,找到serviceshub.config.json文件,然后把它删掉。这个方法刚开始的时候有用,过了一段时间后就无效了。2、在VS里面开启本机代码调试。调试---属性---调试,然后勾上"启用Windows调试堆分配器(仅限本地)"。勾上这个后就好了。3、还有说法是项目中的libaray文件夹越来越复杂,可原创 2021-01-07 17:43:14 · 5620 阅读 · 0 评论 -
C# 用变量的值通过反射获取变量的属性名
public class Test{ public const string test1 = "Test1"; public const string test2 = "Test2";}private Test testObj = new Test();private Type testType = testObj.GetType();private PropertyInfo[] properties = testObj.GetProperties(Binding...原创 2020-12-26 10:28:41 · 1771 阅读 · 0 评论 -
Unity中,使用ClosedXml把Excel中的翻译提取到Xml
在项目中,需要从Excel表中提取翻译,使用工具的话相比手动复制粘贴快太多了,工作量从小时计算缩小到以秒计算,简直不要太方便。在使用ClosedXml前需要先下载ClosedXml的库。在VS中从里"工具"--->“NuGet包管理器”--->“管理解决方案的NuGet程序包”,然后在浏览标签下输入ClosedXml,然后下载。下载好后,相应的文件会出现在工程的Packages下,从Packages文件夹下找到“ClosedXML.dll”,“DocumentFormat.OpenXml.d原创 2020-07-30 17:17:33 · 708 阅读 · 1 评论 -
Unity添加程序集引用
在unity中添加第三方库的时候,通过NuGet管理器安装了第三方的库,但是使用的时候提示缺少程序集,或者下载了dll文件要在程序中使用,这时候可以手动添加程序集。1、在引用中双击任意引用,打开“对象浏览器”2、点击“...”符号,在打开的弹窗中,切换到“浏览”选项,然后找到程序集,选择然后确定。3、这时程序集就被添加到了“对象浏览器”,选择对应程序集,然后点击后面的添加。4、这样引用中就包含添加的程序集了,可以正常使用了。...原创 2020-07-27 17:10:11 · 4395 阅读 · 0 评论 -
UGUI性能优化
1、禁用空的Image。在Unity项目中,有时候会用空的Image并将alpha设置为0来接收点击事件。这样会产生不必要的overdraw,增加性能负担,可以使用以下脚本,只监听事件,不画网格,从而减少overdraw。using UnityEngine.UI;public class EmptyRaycast : Graphic{ public override void SetMaterialDirty() { } public override void原创 2020-07-17 11:08:53 · 248 阅读 · 0 评论 -
Unity BMFont自定义字体
Unity中,使用位图字体工具BMFont从图片生成自定义字体流程一、首先下载BMFont工具并安装:http://www.angelcode.com/products/bmfont/二、使用BMFont工具制作字体库1、先做一些设定:"Options"->“Export options”宽度设置为所有素材宽度总和,高度为素材的高度(长和宽可以设置得稍微大一点),位深设置...原创 2020-04-20 16:59:33 · 2504 阅读 · 1 评论 -
Unity Text自定义多重渐变色且渐变色位置可调
Unity的Text自定义渐变色的个数,且可定义各渐变色的比例。[AddComponentMenu("UI/Effects/MultiplyGradientColor")][RequireComponent(typeof(Text))]public class TextGradientColor : BaseMeshEffect{ public UnityEngine.Grad...原创 2020-04-20 11:00:14 · 1261 阅读 · 1 评论 -
Unity编译Android平台异常
Unity工程编译到Android平台,打包没有问题,在机器上运行时,应用运行不起来,出现如下异常:I/Unity: AndroidJavaException: java.lang.NoSuchMethodError: no non-static method with name='XX' signature='(Ljava/lang/String;I)V' in class Lcom.un...原创 2020-04-16 16:31:24 · 2152 阅读 · 2 评论 -
Unity工程安全地修改脚本名、变量名,不丢失现有的引用
一、修改脚本名Unity开发过程中,如果随意修改脚本名称的话,会导致脚本上面的引用丢失,又要重新添加引用,费时费力且容易出错。如果要使脚本上面的引用不丢失,可使用如下方法:1、在工程中修改脚本名称;2、在MonoDevelop中打开脚本(在VS中打开不能修改),将光标移至类名处,按F2键,在弹出对话框中输入修改后的脚本名,确定;3、Ctl+Shift+S保存全部。通过以上步骤修...原创 2020-04-16 14:17:59 · 2300 阅读 · 0 评论 -
iTween使用小坑
在使用iTween.MoveTo的过程中,踩了两个小坑,耗费半日才找到问题症结。代码如下: iTween.MoveTo(gameObject, iTween.Hash("position", moveTo, "time", 2.0f, "easeType", iTween.EaseType.linear, "oncomplete", "Stop"));1、传入的坐标moveTo要是Ve...原创 2020-03-17 10:34:30 · 393 阅读 · 0 评论 -
Unity Text三重渐变色
[AddComponentMenu ("UI/Effects/ThreeColorGradient")][RequireComponent(typeof(Text))]public class ThreeColorGradient : BaseMeshEffect{ public Color colorTop = Color.white; public Color colorCente...原创 2020-03-06 14:30:14 · 394 阅读 · 0 评论 -
Unity Text值递增或递减效果
public class TextValueChange : MonoBehaviour{ [SerializeField] private Text text; [SerializeField] private float time = 0;//改变的总时间 [SerializeField] private long count = 0;//改...原创 2020-03-06 11:46:55 · 2057 阅读 · 0 评论 -
Unity 创建重复使用的子节点,避免生成多个子节点
在Unity中,常常要显示排行榜之类的列表,如果排行榜比较长的话,如果一次加载所有的数据,可能会导致手机卡顿甚至崩溃,所以要避免一次就加载所有的数据,一种方案是控制数据项即显示完一页再去加载下一页,这里实现一种方案即重复使用已生成的子项,在滑动列表的过程中不生成新的子项,而是刷新已生成子项的数据。[System.Serializable]public enum ScrollDirectio...原创 2020-03-03 15:53:01 · 884 阅读 · 1 评论 -
Unity图文混排实现
实现在文本中插入图片,图片替换符使用如下格式 //XML: <quad index=0 size=60> 代码中<quad index=0 size=60>using System.Collections;using System.Collections.Generic;using System.Text.RegularExpressions;...原创 2020-03-03 10:15:38 · 1592 阅读 · 0 评论 -
Unity 双生ScrollView滑动冲突问题
上一篇解决了循环左右翻页的问题,如果子节点中也存在ScrollView的话,翻到该子节点时左右滑动就不生效了,得解决它们的冲突。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;...原创 2020-03-02 18:12:34 · 1057 阅读 · 0 评论 -
Unity ScrollView无限循环左右滑动翻页带阻尼效果
从https://blog.csdn.net/Sam_ONE/article/details/60467911借鉴优化而来上面的例子是上下滑动,而且滑动的过程中,子节点的顺序会打乱,这里改成左右滑动,并且加了个排序,使滑动过程中子节点保持正确的顺序。把脚本挂在ScrollView上面,子节点加上Item脚本(随意实现)基本上就可以了using UnityEngine;using Sys...原创 2020-03-02 18:03:26 · 3499 阅读 · 3 评论 -
Unity中的移动动画iTween.moveTo详解
//标识Itween实例的名称,可以通过Stop("name")停止指定名称的Itweenname:string //标示移动的位置:args.Add("position",new Vector3(5,5,5));position:Transform or Vector3 //移动路径:args.Add("path",paths);paths=new Vector3[]{...原创 2018-10-31 17:36:52 · 6573 阅读 · 0 评论 -
unity3d中给Text添加艺术字效果的特效
需要实现一种效果,类似于给文本加上遮罩,像这样的:实际是+这样的文字加上这张图片合成而来的。这样的效果如果简单的使用遮罩也可以实现(在文本上加个Mask,在里面建一个Image组件),但是这样文字上会有很明显的锯齿,这肯定是不能接受的。下面就通过材质球+Shader的方式来实现:创建一个材质球,Shader使用unity自带的TextDetail,然后把材质球挂到文本上,然后给...原创 2018-10-22 18:17:11 · 5279 阅读 · 0 评论 -
Unity粒子系统
一、粒子系统主界面:二、粒子系统下各个子模块:Main module//主要模块 Emission//发射 Shape//形状 Velocity Over Lifetime//粒子在生命周期内的速度 Limit Velocity Over Lifetime//粒子在生命周期内的极限速度 Inherit Velocity//速度继承 Force Over Lifetime//...原创 2018-10-11 16:50:50 · 11237 阅读 · 0 评论 -
Unity中加入第三方库(如FB SDK)后打包异常:targetSdkVersion='23'> but library uses targetSdkVersion='25'
Unity中加入第三方库(如FB SDK)后编APK时出现异常:Warning: [Temp\StagingArea\AndroidManifest-main.xml:12,D:\h5\UnityProjects\Test\AARTest\Temp\StagingArea\android-libraries\app-debug\AndroidManifest.xml:3] Main manif...原创 2018-08-01 18:37:59 · 1432 阅读 · 0 评论 -
在Unity的XML中使用&等的转义
在Unity的XML中使用特殊字符需要转义才可以,不然有异常。下面是几个比较常用的 &(逻辑与)--"&amp;” <(小于)--"&lt;" >(大于)--"&gt;" "(双引号)--"&quot;"原创 2018-08-01 18:28:10 · 662 阅读 · 0 评论 -
Unity中在磁盘上写数据
Unity中将数据写到磁盘上保存为文本格式的方法:public void SaveData(string msg) { string path = Application.persistentDataPath + "/" + "t.txt"; if (!File.Exists(path)) { //File...原创 2018-08-01 18:23:44 · 346 阅读 · 0 评论