unity小技巧
文章平均质量分 57
鱼蛋-Felix
代码创造科技,科技改变世界!
微博@我是鱼蛋啊你不记得我了么
Q群:904994482
有问题加群聊
展开
-
Unity地形关联出错的解决办法以及地形深度拷贝
我们发现,强制拖过去会有一个警告,意思大概是地形数据和该地形的collider数据不匹配。最近发现unity地形系统的一个bug,导入的场景地形数据关联错乱了,关联到别的场景的地形数据了,meta替换了也没用,不清楚它具体是怎么关联的。可以看到正常这个场景的地形数据应该关联的是Scene_Empty_Terrain的数据,但是现在它关联到别的了。其实使用上面的方式已经可以解决了,第二种是想推荐下下面的地形拷贝类,本鱼蛋自己也做个备份,方便后续使用。那我们强制把正确的地形数据拖过去行不行,我们试下!原创 2024-04-19 11:11:18 · 806 阅读 · 1 评论 -
Unity UGUI图片锯齿严重怎么解决
在开发的时候,发现图片锯齿严重,打包到移动端或者在编辑器都这样,如下图。原创 2023-11-24 12:51:19 · 3633 阅读 · 0 评论 -
Unity隐藏目录和隐藏文件
在开发的时候,有时候想在项目Assets下放东西但是又不想Unity识别到,可以采用下面的方式,下面我们看官方介绍:Unity - Manual: Special folder names隐藏资源在导入过程中,Unity忽略Assets文件夹(或其中的子文件夹)中的以下文件和文件夹:隐藏的文件夹。 以' . '开头的文件和文件夹。 以“~”结尾的文件和文件夹。 命名为cvs的文件和文件夹。 扩展名为.tmp的文件。效果如下:...原创 2022-05-24 11:54:55 · 1911 阅读 · 0 评论 -
Unity免费库/插件/工具类/扩展集合
推荐一个GitHub关于Unity库/插件/工具类/扩展的集合,都是免费的,里面包含各种各样实用的工具,比如对象池、八叉树、回放系统、粒子、寻路、Debug工具、VR、网络库、物理、AI、Input控制器等等等等,应有尽有。链接:https://github.com/michidk/Unity-Script-Collection我尝试做下翻译:GameObjects & TransformsRecyclerKit- 对象池系统. UnityOctree- Unity八叉树实..原创 2022-01-06 14:48:00 · 9965 阅读 · 3 评论 -
Unity打包代码修改gradle.properties或AndroidManifest文件
Unity通过Gradle打包方式会自动生成对应的gradle相关文件,再进行打包,虽然编辑器可以设置一部分参数,但是因为Unity版本不同,参数支持可能不够。以Unity2018.4.17为例仅支持设置部分路径,如需设置gradle版本,并没有地方设置。对于这种情况,其实Unity可以通过IPostGenerateGradleAndroidProject进行设置,不需要升级Unity版本。比如我们可以这样修改打包后的gradle.properties文件,打包完后修改部分参数,..原创 2021-09-10 12:14:38 · 5183 阅读 · 0 评论 -
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 · 1355 阅读 · 3 评论 -
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 · 2898 阅读 · 2 评论 -
Unity发布版读取中文乱码
今天使用Unity读取网页数据的时候,有时候是好的,有时候显示乱码。var request = UnityWebRequest.Get(url);// Wait for the response and then get our datayield return request.Send();var data = request.downloadHandler.text;后来发现...原创 2020-02-23 13:13:12 · 1184 阅读 · 0 评论 -
Unity编辑器内突然无法输入中文
今天Unity编辑器内突然无法输入中文,输入的时候中文输入法框老是被跳没,修改Layout、unity管理员模式打开、兼容模式、重启电脑等都试过,还是不行。。。试过很多方式之后,在论坛找到了解决方法!!测试发现:将鼠标光标放在状态栏上的时候,中文输入正常使用;而鼠标光标放在unity范围内,则输入法时常会自动切换到英文; 所以,一种暂时性的解决方法就是,需要在text文本框中输入中文...原创 2018-08-25 12:24:17 · 8932 阅读 · 4 评论 -
Unity Spine图层混合叠加效果不生效
使用Spine动画的时候,美术在Spine设置中将Slot槽点设置了图层混合模式,如下图导入到Unity中发现叠加模式未生效,效果应该是这样的而导入之后是这样的 后来在Spine论坛查看资料发现需要手动设置,不过按照论坛的方式却还是不行http://zh.esotericsoftware.com/forum/Multiply-Blending-not-exporting-a...原创 2018-07-28 13:23:37 · 8307 阅读 · 3 评论 -
NGUI丰富的文字特效拓展
原理就是监听UILabel.onPostFill事件,然后修改里面的verts等属性mLabel = GetComponent<UILabel>();mLabel.onPostFill += OnPostFillHandle;void OnPostFillHandle(UIWidget widget, int bufferOffset, BetterList<Vector3&g...原创 2018-05-18 17:06:45 · 599 阅读 · 0 评论 -
unity多分辨率适配
ugui和ngui针对不同分辨率的设备都可以设置属性,但是unity原生的camera就不支持,不同分辨率可能会画面被裁剪等情况,关于这个问题,这个地址写的很详细,就不多说了。https://www.jianshu.com/p/95cb4621206e...转载 2018-04-11 14:23:58 · 1190 阅读 · 0 评论 -
Unity 分辨率框Config Dialog Banner尺寸要求
unity打包成pc运行exe文件的时候,打开默认有个弹框,如下图上面那条图片是可以自定义的,在PlayerSettings下配置:但是并没有写尺寸是多少,官方文档也没有写,后来尝试之后发现最佳尺寸为:512*200...原创 2018-03-26 15:21:30 · 1031 阅读 · 0 评论 -
unity内存优化分析
内存优化有以下几种:1、设置public变量引用预制2、将预制放在Resources文件夹,然后动态加载3、拆分成AssetBundle经测试得出以下结论:1、public变量引用的方式会在场景加载的时候将预制加载进内存,会占用内存2、Resources加载方式场景加载完毕,不会占用内存,除非动态加载进场景中3、AssetBundle同Resources...原创 2018-03-14 14:50:54 · 363 阅读 · 0 评论 -
NGUI UITexture图片边缘会有一条线
今天发现游戏图片边缘一直有一条线,将png图片边缘擦了又擦也还是有,不过只有UITexture才有线,而Unity的Sprite却没有。显示效果如下:后来改了图片属性,将Wrap Mode改为Clamp搞定了!Texture.wrapMode 循环模式var wrapMode : TextureWrapModeWrap mode (Repeat or Clamp) of the texture.循...原创 2018-03-23 15:37:42 · 2373 阅读 · 1 评论 -
【unity小技巧之一】使Debug.Log支持颜色等富文本信息
Unity的Debug.Log本身是支持rich text富文本的,像这样很简单,只需要在输出文本的时候写好富文本样式即可,操作如下:Debug.Log ("微博搜索"+"" +" 我是鱼蛋啊你不记得我了么 "+""+"关注我的" +""+"新浪微博~~~~"+"");更多的富文本样式请点击链接查看原创 2016-03-31 17:14:47 · 12473 阅读 · 0 评论 -
【unity小技巧之五】unity编辑器脚本添加类目到unity Preferences中
有的时候想添加一些设置到Preferences窗口中,效果如图:只要在任何一个脚本的静态方法中添加[PreferenceItem("侧栏显示名称")]即可(记得是在Editor目录下哦)实现代码:[PreferenceItem("Egogame")] static void PreferencesGUI () { EditorGUILayout.LabelField("S原创 2016-11-11 16:37:38 · 1796 阅读 · 0 评论 -
【unity小技巧之六】将图片拖动到Polygon Collider2d,自动算出碰撞线
今天发现了一个黑科技,如下图,之前一直只知道在SpriteRender上添加Polygon Collider 2D组件,会自动按照图片的图形计算出碰撞包围盒,但是有时候想要自己弄个目录结构,将sprite放在目录下,脚本和collider组件添加在sprite的父目录上,这时候PolygonCollider2D组件就不会自动计算碰撞盒,其实这个unity有一个黑科技,就是只要把任意Sprite拖动原创 2017-01-02 11:13:20 · 6292 阅读 · 2 评论 -
【unity小技巧之七】突然不能编辑PolygonCollider2d的点
unity偶尔会出现点击编辑按钮,不能编辑PolygonCollider2D的点了,很奇怪,应该是unity的bug。解决办法就是关掉所有的Inspector,然后Add Tab创建一个Inspector出来。原创 2017-04-07 12:01:55 · 2038 阅读 · 0 评论 -
【unity小技巧之三】添加自定义拓展,动态向某个类注入静态函数
有的时候想直接通过transform.position.x=10f;的时候,编译器会报错,必须这样写transform.position = new Vector3(10f, transform.position.y, transform.position.z);这样特别的不方便,然而C#3.0新加入一个特性,就是通过this关键字动态的向某个类注入静态函数,比如:using UnityE原创 2016-04-07 15:45:28 · 1959 阅读 · 0 评论 -
【unity小技巧之四】变量弹出SortingLayer选择面板
经常想在脚本中设置一个变量对应SortingLayer的某个层,然后赋值给SpriteRender修改排序层,但是unity官方似乎没有办法直接弹出SortingLayer面板进行选择,就像是LayerMask一样。public LayerMask hurtLayer;既然unity不内置,那就自己想办法通过PropertyAttribute来实现吧,脚本中只要在变量声明前面用"[]"括起原创 2016-06-24 11:28:51 · 8392 阅读 · 3 评论 -
有点坑的unity协程
今天在程序逻辑的时候遇到一个小问题,就是在Awake开启了一个协程,发现协程怎么都无法往下执行。 void Awake () { StartCoroutine (DelayCheckState ()); } IEnumerator DelayCheckState(){ Debug.Log ("AAAA"); yield return null; Debug.Log ("原创 2017-09-25 18:48:57 · 1734 阅读 · 0 评论 -
unity3d如何使线平滑
最近使用unity制作了绘图板的功能,不过线段绘制的时候一直不平滑,怎么使线段平滑呢?类似下图:使用该代码即可返回平滑的点//arrayToCurve is original Vector3 array, smoothness is the number of interpolations. public static Vector3[] MakeSmoothC原创 2017-09-12 19:06:01 · 2430 阅读 · 1 评论 -
【unity小技巧之八】MonoDevelop突然不能复制粘贴了
这个bug已经很多代unity都有,然而unity可能不知道这个bug所以一直都没有解决解决办法:1、在左侧随便选中一个脚本,然后按F2编辑,复制2、然后粘贴到右侧随便一个地方3、现在从外面重新复制文字,即可粘贴,猜测大概跟脚本的保存格式有关。原创 2017-10-02 16:02:27 · 3219 阅读 · 0 评论 -
unity切换TextMesh的Font之后,文字错乱
最近在弄多语言,发现游戏中的字体库里面没有俄文导致显示俄文的时候不正常,没办法,只能切换语言的时候也切换支持俄文的字体库了,项目中使用NGUI的UILabel的地方,直接切换label.bitmapFont = realFont;就搞定了。没想到使用了TextMesh的地方,直接label.font=realFont;之后,文字显示就错乱了。如下图:弄了大半天,考虑是不是Font.te原创 2017-12-20 18:31:16 · 3352 阅读 · 0 评论 -
NGUI如何与Spine动画同时使用
首先,先看实现出来的效果。从效果上看,下面的窗口是NGUI panel标为A,中间是spine动画,上面的窗口也是Panel为B。只需要将spine动画layer修改为ngui层即可渲染,而且只用了一个ngui的摄像机。下面会详细解释下如何操作。操作步骤1、选中Panel A,修改Panel的sortingLayer和sortOrder2、选中Pane B,修改Pa原创 2018-02-05 15:14:02 · 3164 阅读 · 0 评论 -
【unity小技巧之二】使用unity3d调用命令行工具
有时候策划经常把不该提交的东西提交上去!有的时候想在Unity中点击一个按钮就自动更新/提交SVN!等等.... 代码如下:System.IO.DirectoryInfo parent = System.IO.Directory.GetParent(Application.dataPath);string projectPath=parent.ToString()原创 2016-04-06 14:16:14 · 6386 阅读 · 0 评论