2018
09-17

Unity3D:查找子物体及子物体上的组件

在开发过程中用到最多的就是查找子物体或者子物体上的组件了,由于不能一一将组件或者子物体拖到脚本上。所以就需要查找方法,Unity的Transform提供的方法只能查找一级下的子物体。座椅就有了今天我说的方法。 主要用到了递归方法,虽然这个方法很耗时,但是目前也没有什么方法可以代替这个方法,下面就直接上代码。 [crayon-5bc6b64cd1042288058238/] 这就是查找子物....点击有惊喜
2018
09-17

Unity3D编辑器:类似Button组件按钮委托事件的拖拽样式

Unity3D编辑器:类似Button组件按钮委托事件的拖拽样式 在做项目的时候,尤其是在做一些小工具的时候,有时候需要做一些方便外面直接用调用的委托方法,又不想用脚本直接调用的的时候,就需要今天我所说的方法了,这个方法是我在看UGUI源码的时候看到的,其实就是Unity本身将InInspector面板的显示进行了封装。我们只要在定义变量之前将封装好的InInsp....点击有惊喜
2018
08-28

Unity3D:Animator动画播放完成事件

上一篇文章说了音频播放完成事件的方法,这篇文章我就来说说Animator动画的播放完成事件。其原理和AudioSource的原理是一样的,只是稍微有一点区别就是Animator的动画可能不止一个动画片段,所以在播放动画的时候要有一个判定是哪一个片段。下面是代码。 [crayon-5bc6b64cd4d4b320003902/] 在代码里还有一些重载的方法,是因为播放动画的时候可能会有层级和从哪....点击有惊喜
2018
08-28

Unity3D:AudioSource音频播放完成事件

在做项目的时候经常遇到,要播放一段音频之后要执行一些方法或者事件,但是AudioSource并没有提供播放完成事件,我在网上查了很久才找到一个比较不错的方法,我整理了一下,可以直接挂在有AudioSource组件的GameObject上。它的原理就是获取音频文件的时长,通过协程等待播放完成再去执行其他方法或者事件。下面是代码。 [crayon-5bc6b64cd4d4b178619165/] ....点击有惊喜
2018
08-21

Unity3D:设计模式之单例模式—C#单例模式和Unity单例模式

在Unity开发中最常用的设计模式就是单例模式,但是在使用单例模式的时候,通常会在每个脚本里去写单例方法,使用起来很不方便,在网上搜了一下,看到有很多实现方法,其中有一个我认为很方便,下面就把方法贴出来,一般的方法我就不再写了,网上有一大堆。 第一种是不继承MonoBehaviour的类,一般这种适用于不挂在Unity的GameObject上的类。 [crayon-5bc6b64cd4d4....点击有惊喜
2018
08-20

Unity3D:谷歌Cardboard全景模式和VR模式切换

最近Unity3D的版本更新到2018版本,再用到很多以前插件和功能开发的时候,遇到很多问题,其中在做Google Cardboard开发的时候,本来想用最新的SDK开发,但是用最新的Unity发现在做全景模式和VR模式的时候,竟然没有了这个功能。网上搜了搜,原因是Cardboard整合到Unity里面去了,但是整合之后就没有了原来的控制VR开关的VRModeEnabled = 布尔值的参数。所以....点击有惊喜
2018
07-05

Unity3D:Unity3D读取PDF内容

最近在研究Unity3D中读取PDF的内容,预想了三种方案,一是用Java来实现,二是调用C#的iTextSharp库或者PDFBox库来实现,三是下载PDF Renderer插件(土豪可以买这个插件,支持的系统也比较全面),java不是很精通,我就研究了一下C#调用iTextSharp库来实现,但是遗憾的是不支持UWP系统。 再写代码之前呢,得在Assets下的Plugins文件夹中导入i....点击有惊喜
2018
06-11

Unity3D:Android开发的几种调试方法

Unity3D:Android开发的几种调试方法 经常有人问我在Unity开发安卓的时候,在真机测试的时候,怎么进行调试。今天我就总结一下之前积累的一些调试的方法,我所知道的就有四种方法, 第一种就是适用在没有使用第三方插件或者jar包的情况下,能直接在Unity编辑器下直接运行的时候,在Unity的Console面板就能直接打印消息。在这种....点击有惊喜
2018
05-09

Unity3D:Text文本图文混排Unity3D 2018自带插件

Unity3D:Text文本图文混排Unity3D 2018自带插件 最近Unity2018发布了,在这个版本里Unity做了很多插件让开发更容易,这些插件不是依赖工程的,也就是说不用再往项目里导入package包了。而是通过unity本身的PackageManager导入。在Project面板是看不到任何文件或者文件夹的(某些可以看到一部分文件或者文件夹)。还可以在....点击有惊喜
2018
02-24

Unity3D:UGUI InputField根据内容自适应大小

Unity3D:UGUI InputField根据内容自适应大小 在做聊天输入框的时候,UGUI自带的InputField只能设置输入内容显示最新输入的内容和输入固定长度的内容,并没有自适应内容改变输入框的长度和宽度,网上搜了一下,在蛮牛上看到一个能自适应长度的,可以根据内容改变输入框的长度,但是如果长度太长就会超出范围,后来我把代码改了一下,可以固定长度,然后自....点击有惊喜
2018
01-12

Unity3D Android:截图保存并显示到相册

在项目开发和游戏开发中,截图功能是经常会用到的,既然会用到截图功能,伴随的就是保存到相册,之前都是在Unity里面将图片直接保存在DCIM的Camera目录下,但是会出现在手机的相册里面看不到截的图,网上也找了原因,就是虽然目录下有了图片,但是安卓的广播没有告诉相册刷新。所以相册里就看不到截图。所以就有了今天的这种方法。这个方法是,先把图片保存在缓存路径,也就是Application.persis....点击有惊喜
2017
12-12

Unity3D:图片音频缓存到本地方法详解

在某种情况下,在网络上下载图片和音频的时候,由于网络等原因加载图片或者音频会很慢,就需要将图片或者音频缓存到本地。这样在读取本地图片和音频会很快。在网上也搜索了一些方法主要原理就是查找本地是否有这个文件,然后决定是去网上下载,还是本地加载。这里主要用到的方法就是读写本地文件和网上下载文件。下面是代码。 [crayon-5bc6b64cd8a54898231387/] 上面的代码,不用拖到任何物....点击有惊喜
2017
11-16

Unity3D UGUI:UI组件及GameObject的事件监听系统

Unity3D UGUI:UI组件及GameObject的事件监听系统 Unity新的UI系统的监听事件的用法有很多种,在UGUI刚出来的时候,网上也搜到过很多种用法,今天我就把这几种方法整理一下,分享给大家。 首先,是第一种方法,也是最直接简单粗暴的方法,但是这种方法只能在UI系统上使用,就是直接在UI组件上绑定事件,这个效率是最高的,但也是最麻烦的。要一个一个....点击有惊喜
2017
09-21

Android:AndroidManifest.xml文件解析说明(三)

之前说了第一层和第二层的说明,下面我就把剩下的都说一下吧。 3、第三层(<Activity>):属性 [crayon-5bc6b64cd8a54555352569/] (注:有些属性与application相同,再次不重复说明) 1)、android:alwaysRetainTaskState 是否保留状态不变, 比如切换回home, 再从新打开,activity处于最后....点击有惊喜
2017
08-29

Unity3D编辑器:数组和List在Inspector显示样式,支持嵌套

Unity3D编辑器:数组和List在Inspector显示样式,支持嵌套 之前看到Unity自己或者在用其他插件的时候,经常看到他们的数组和List在Inspector上显示的样式跟我们平时用的不一样,而且也很方便,后来在雨松大大的微博上看到了一篇微博,解决了这个问题,那么今天我就把这个分享给大家。 由于代码比较长,我就不再上代码了,下面是效果,之后我会将代码链接给....点击有惊喜
2017
08-28

Unity3D UGUI:Tab键切换InputField光标位置

Unity3D UGUI:Tab键切换InputField光标位置 虽然UGUI的功能没有NGUI的多,但是UGUI要比NGUI稳定,还有就是自适应做的比较不错,但是UGUI要实现一些功能就得自己去写了,还好UGUI给我们留了好多接口,好多东西我们自己是可以修改或者重写的方法,之前写过一个ScrollView滑动居中的东西,有需要的可以去看看。好了其他的也不多说了,....点击有惊喜
2017
08-28

Unity3D:调用手机(电脑)摄像头功能

最近在做项目的时候用到了,调用外部摄像头的功能,所以就到网上找了一下,有好多代码,但都是大同小异。一看就能明白的,我今天就想整理一下,免得到时在用时,找不到了,就做个笔记吧。 在上代码之前,要先说明一下,调用外部摄像头功能,之后能拓展好多功能出来,拍照啊   截屏啊什么的。有需要的可以试一下。下面开始上代码。 [crayon-5bc6b64cd8a54502862648/] 我测试过链接....点击有惊喜