自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 Unity编辑器的扩展:IMGUI

IMGUI 介绍所有关于 Editor 的相关 UI,包括 Inspector、Hierarchy、Window、Game 视图上动态创建的那些半透明 UI、还有 Scene 视图上可添加的辅助显示 UI,叫做 IMGUI,全称Immediate Mode GUI。该名字来源于两类型的 UI 系统:immediate和retained。retained:当你设置好各种组...

2019-04-25 16:36:00 628

转载 Unity实现支持泛型的事件管理以减少使用object作为参数带来的频繁装拆箱

如果不用C#自身的event关键字而是要自己实现一个可统一管理游戏中各种消息事件通知管理的系统模块EventManger时,通常都是把事件delegate的参数定义为object类型以适应所有的数据类型,然而这样做的后果就是在使用过程中存在很频繁的装拆箱操作。实际是有办法实现支持泛型的事件管理的,关键点在于所有形式的delegate方法都是可以保存在类型为Delegate的变量上的,保存...

2017-08-27 11:32:00 363

转载 Lua中的点、冒号与self

Lua中的点、冒号与self,它们之间的关系主要体现在函数的定义与调用上,Lua在函数定义时可以用点也可以用冒号,如:1 function mytable.fun(p)2 return p3 end4 5 function mytable:fun(p)6 return p7 end用冒号定义的函数有个特别的地方是它内部有个self表...

2017-08-15 23:04:00 305

转载 Unity堆内存优化

unity中减少堆内存分配以减少垃圾回收处理:只有局部变量且为值类值的变量是从stack栈中分配内存,其它所有情况都是从heap堆中分配内在。* 缓存获取到的数据。* 频繁被调用的函数中尽量少的分配空间。如Update函数,缓存变量或者增加时间判断每延迟多少时间后再执行一次而没必要每帧执行。* 复用集合类变量,如List数据,当有新数据时Clear()后重新添加而不是new List()...

2016-12-20 20:40:00 180

转载 unity区分点击在3D物体还是2D UI上

当场景中的3D物体需要响应点击,但同时有UI显示时,存在判断点击是在3D物体上还是UI上的问题,办法如下:  1. 射线检测所有2D 3D物体,有2D物体被检测到时表明当前有UI。但无论Physics2D.Raycast()还是Physics.Raycast()都只能检测到含有Collider组件的物体,普通UI如Image Button等一般用射线是不起作用的。EventSyste...

2016-11-23 17:36:00 322

转载 Unity球形插值Slerp解析

Unity球形插值,官方有个太阳升降的例子:http://docs.unity3d.com/ScriptReference/Vector3.Slerp.html一开始主观认为这个球形插值Slerp应该本来就是两点之间画弧线,貌似很简单,但该官方例子实现太阳升降却写得很复杂,虽没几行代码却不明白做了些什么事- -向量即既有长度同时有方向,看介绍可以知道,相比线性插值Lerp将V...

2016-07-22 15:30:00 270

转载 Unity添加自定义快捷键——UGUI快捷键

在Editor下监听按键有以下几种方式:自定义菜单栏功能: 1 using UnityEngine; 2 using UnityEditor; 3 public static class MyMenuCommands { 4 [MenuItem("My Commands/First Command _p")] 5 static vo...

2016-07-12 13:24:00 220

转载 UGUI解决嵌套使用多个ScrollRect时的Drag拖动冲突问题

很简单,直接看代码: 1 using UnityEngine.UI; 2 using UnityEngine.EventSystems; 3 using UnityEngine; 4 5 /// <summary> 6 /// 解决嵌套使用ScrollRect时的Drag冲突问题。请将该脚本放置到内层ScrollRect上(外层的ScrollRe...

2016-07-05 15:43:00 235

转载 C#笔记(二)

转换操作符:操作符重载,可自定义实现从一种类型到另一种类型的显示或者隐式转换 :true/false也可进行操作符重载:LINQ中大部分查询运算符都有一个非常重要的特性:延迟执行。这意味着,他们不是在查询创建的时候执行,而是在遍历的时候执行(换句话说,...

2016-07-03 18:52:00 73

转载 实现Unity对Dictionary的序列化

若有尝试过想在unity的inspector检视面板中像List或者数组那样可以编辑Dictionary变量的童鞋应该知道,Dictionary变量不会出现在inspector中,unity并不会直接序列化Dictionary类型,但实际上unity有提供接口使之可能:unity doc:http://docs.unity3d.com/ScriptReference/ISerial...

2016-06-12 19:56:00 583

转载 Unity查找Editor下Project视图中特定的资源

1 [MenuItem("Tools/Check Text Count")] 2 public static void CheckText () 3 { 4 //查找指定路径下指定类型的所有资源,返回的是资源GUID 5 string[] guids = AssetDatabase.FindAssets ("t:GameObject", new st...

2016-06-07 11:45:00 546

转载 UGUI ScrollRect滑动居中CenterOnChild实现

NGUI有一个UICenterOnChild脚本,可以轻松实现ScrollView中拖动子物体后保持一个子物体位于中心位置。然而UGUI就没这么方便了,官方并没有类似功能的脚本。网上找到一些运行效果都不对,可能因为UGUI需要配置的东西太多,RectTransfrom不同设置效果就不一样。故自己实现了该功能,使用时的配置如下:1. 仅适用于水平方向拖动的ScrollRect。2. S...

2016-05-27 17:21:00 228

转载 unity与android交互总结

在网上找了很多教程,基本上使用的方法都是在eclipse上新建普通android工程,让主activity继承UnityPlayerActivity,然后在该activity中写供unity调用的接口或者主动要回调unity的接口,然后导出jar包到unity。这种方式只要人品不好就会出一堆乱七八糟的问题:  如新建工程时选择SDK版本小于4.0时在unity build APK...

2016-04-28 19:09:00 134

转载 UGUI笔记

Text中的可以单独指定某些文字的颜色,只需将想要变色的文本放在<color=**></color>之间即可,如“吃<color=#ff7a38>橙色物品</color>有机会获得<color=red>红色宝石</color>”,同样适用于NGUI。两张图片,如头像框,头像在背景图之上,头像会挡住背景的点击事...

2016-04-24 17:21:00 99

转载 UGUI性能优化

UGUI会自动检测优化,如果多个材质间没有遮挡或只有小部分不影响的遮挡则会合并DrawCall为一个。如下图:尽可能保证Text在Image的上方。字体的DrawCall就可能自动会优化,而不需要像NGUI那样让字体跟图片pack在一起来减少DrawCall。尽可能保证Image之间不存在不必要的重叠。UI变色:修改材质和修改顶点色两种方式合并DrawCa...

2016-04-21 15:31:00 148

转载 NGUI panel 之下widget最大depth是1000,超过1000时OnClick会出问题!

经过我的测试发现ngui widget的depth是有限制的!原本以为只要不同panel间的depth设置好了后无论widget depth如何设置都没问题,直到我们项目中出现奇怪的点击问题后才发现这个坑……当一个panel1 depth =1之下的widget depth>1000时,该widget相当于处在了panel2 depth=2层上去了!假如panel2底下所有的w...

2016-03-24 22:02:00 134

转载 物体旋转后缓慢停在指定角度的实现

可指定物体的旋转时间速度停下角度,可以参考来实现转盘抽奖或图片翻转打开等效果。 1 using UnityEngine; 2 using System.Collections; 3 4 public class Rotate : MonoBehaviour 5 { 6 public float targetAngle = 180f; 7 ...

2016-03-09 23:20:00 356

转载 摄像机俯视跟随游戏角色的实现

1 // CameraMovement.cs 2 using UnityEngine; 3 using System.Collections; 4 5 public class CameraMovement : MonoBehaviour 6 { 7 public float smooth = 1.5f; // 摄像机跟踪速度...

2016-03-09 22:55:00 285

转载 Unity3d笔记

当变量重命名后,已序列化保存的值会丢失,如果希望继续保留其数值,可使用FormerlySerializedAs,如下代码所示:[UnityEngine.Serialization.FormerlySerializedAs("hp")]public int newHp = 20;Unity有个隐藏的彩蛋:void Main(){},它的调用在Awake() ...

2016-03-09 22:16:00 110

转载 C#笔记(一)

#region 和#endregion 关键字可以对代码分为几个片段进行说明注释,且可以展开和折叠该段代码区域。基本类型的别名及取值范围:以上数字后面得加字母的,如float值后面必须加上F,不然会被编译器当作double处理。4.2f == 4.2d 结果为falseconst:编译时确定的值,不可能在运行时改变;常量字段自动成为静态字段,但不能显示声明为sta...

2016-03-09 00:07:00 97

空空如也

空空如也

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

TA关注的人

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