
unity
文章平均质量分 77
fdyshlk
爸爸 我就是一个春天的花朵
正好长在一个春天里
因为我的骨头却是蓝色
展开
-
Unity协程(一):彻底了解yield return null 和 yield return new WaitForSeconds
unity的协程毫无疑问是个非常棒的设计,但是也存在着一些坑和一些误区。原创 2017-05-23 22:09:23 · 60537 阅读 · 6 评论 -
DOTween源码解析
大名鼎鼎的DoTween就不用我多做介绍了,用过Unity的开发者应该都知道,就算没用过也听过。搜索一下DoTween的用法,一找一堆,但是我很奇怪的却没看到有对DoTween的源码分析的帖子(需要下载的请出门右转,搜索DoTween,进入官网进行下载),这里我就抛砖引玉,简单的说说自己的理解。先来看一下我画的DoTween的类图结构:只要明白上面类图中的结构,我认为就差不多搞懂了DoTween的...原创 2018-04-21 21:14:02 · 9956 阅读 · 8 评论 -
unity 易用对象池
好久没写博客了,变懒了,最近想写的东西不多,这次来说说对象池吧。对象池就是缓存池,提前把对象创建出来加入缓存池,需要的时候直接取出来用,删除的时候把物体放入到缓存池而不是真的删除,通过内存来换效率,减少画面的卡顿。对象池是属于项目的底层模块,会被很多地方调用。所以一定得好用(我们得站在使用者的角度上来看),参数应该尽量少,简单明了。接下来我们一步步来制作:1·对象池类肯定是个单例这个没得说了:pu...原创 2018-03-18 20:05:23 · 422 阅读 · 0 评论 -
unity JsonUtility泛型缺陷与Newtonsoft.Json
JsonUtility是Unity自带的数据序列化和反序列化工具类。这个类非常简单,一共就只有几个接口,序列化时使用JsonUtility.ToJson ,反序列化时使用JsonUtility.FromJson,FromJson函数支持泛型操作。JsonUtility是个轻量的Json解析工具类,轻量的好处是功能少,使用简单且能满足大部分开发需求。不过稍微复杂一些的可能就没办法了,原创 2018-01-14 16:57:19 · 5145 阅读 · 0 评论 -
untiy 脚本API之RectTransformUtility
RectTransformUtility是RectTransform的辅助类,一共就几个接口很好理解。RectTransformUtility.FlipLayoutAxes(RectTransform rect, bool keepPositioning, bool recursive),对传入的RectTransform进行翻转。keepPositioning为true时绕着自身的中原创 2017-12-10 22:54:13 · 9070 阅读 · 1 评论 -
untiy 脚本API之可视化辅助类Gizmos
学习一门引擎,熟悉它的各种API是非常有必要的,不一定都得了如指掌,但是至少应该有所涉猎,这样不管在满足需求也好,解决问题也好,都会很有帮助。一直都有在看,不过很容易忘记,现在开始把它写成博客,好记性不如烂笔头,这样回头翻一翻,回忆起来就容易多了。Gizmos是在scene视图用来可视化调试的辅助工具,所有gizmo的绘制都在OnDrawGizmos或者OnDrawGizm原创 2017-12-03 22:44:36 · 2165 阅读 · 0 评论 -
unity transform.parent和SetParent效率差了几万倍?
标题虽然有点惊悚,不过真的是事实。发现这个问题,源于我在一次项目代码优化中,发现有一行代码:transform.parent = ***;,竟然耗费了4毫秒!别小看这4毫秒,这意味着只要这一行函数即使其他什么都不做,就可以把帧率直接拉低到250帧,而且这还没算渲染时间,简直可怕。经过排查发现,这竟然是unity的RectTransform的锅,而trasnform并没有这个原创 2017-11-29 22:25:08 · 12517 阅读 · 10 评论 -
unity 搞懂Canvas的Render Mode的三种模式
canvas的Render Mode共有三种模式:Screen Space -OverLay、Screen Space-Camera、World Space。我们先来说Screen Space-Camera,这个了解了,其他模式也就简单了。顾名思义,此模式我们需要一个Camera,这个相机的作用就是把它所投射获取到的界面当做UI界面。一般情况下,UI界面只是一个二维平面,所以把相机原创 2017-11-12 08:36:32 · 51414 阅读 · 3 评论 -
unity android真机调试
unity想要真机调试,最重要的一点在于手机和电脑在于同一个网段,同一个网段,同一个网段重要的事情说三遍。过程其实很简单,跟着我一起跟着步骤走就行了。1·手机和电脑连接同一台路由器,或者连接电脑的360wifi。2·用USB线连接电脑与手机。3·打开cmd输入tcpip 5555,目的是通过adb,usb打开设备上的tcpip服务并绑定一个端口。4·输入adb connect 手机的IP地址。原创 2017-10-14 20:58:06 · 3552 阅读 · 0 评论 -
unity Animator Override Controller的使用
这里给大家简单介绍下Animator Override Controller。Animator Override Controller是用来配合Animator Controller使用的,它让Animator Controller变得更加实用,可以让不同的使用实例的在同一状态播放不同的动作,但保留原有的结构、参数和逻辑。 下图是一个简单的Animator Controller:原创 2017-10-22 07:45:58 · 13902 阅读 · 0 评论 -
unity 利用Android Studio实时查看打印日志
在调试android包的时候,我们经常需要实时的查看打印日志,利用android studio可以方便查看unity的各种log。 首先先下个android studio,安装,运行,可以看到如下界面: 选择第一个选项Start a new android Studio Project,然后一路next到底,直至Finish,创建工程完毕。接着用USB连接手机,如下图:原创 2017-10-12 21:58:02 · 6413 阅读 · 0 评论 -
unity 从头开始制作类dota2小地图
想要做一个类似dota2小地图的功能,但是用了几个插件,感觉并不是我想要的效果,就自己做了个小地图,现在把这部分功能提出来,简单再做记录下。第一步,创建个Plane当作地图表面,再摆放写Cube当作障碍物,如图:淡蓝色的为地图平面,褐色的方块为障碍物,接着分为给地图和障碍物方块设置Wa'l'k原创 2017-10-06 07:52:12 · 2038 阅读 · 11 评论 -
Unity 数值太大导致场景加载卡死问题
在项目制作过程中遇到了个很蛋疼的问题——场景加载卡死。这个问题让项目一个同学查了好久都没真正查出来,各种纠结。而且这bug还不是必现的,有时候抽风一下在某台电脑能重现,有时候又一点问题都没有,隔三差五的冒出来刷一点存在感。后面安排我一起来查这个问题,可能是那天运气比较好吧,搞了一下午,突然间发现有个gameObject的配置文件数据有很大的问题,它的scale的y值竟然高达e^21 !!!虽然原创 2017-09-17 10:55:05 · 15350 阅读 · 1 评论 -
Unity Update与LateUpdate执行顺序之坑
一看到这标题,大家可能会嗤之一笑,因为Update和LateUpdate的执行顺序应该是一件非常明了的事情,既然都叫LateUpdate了难道还能在Update之前执行不成?回答这个问题之前,我们来看一张Unity的执行顺序图:这边也明确的表明了Update一定在LateUpdate之前执行,我们可以先写些代码来测试一下:public class OldCom : MonoBe原创 2017-09-16 21:47:42 · 13227 阅读 · 0 评论 -
unity 动态导入dll与RuntimeInitializeOnLoadMethod的实现
前断时间做项目的时候,发现一个问题:动态导入的dll(即打包成exe后再放入包中的dll),unity提供的特性RuntimeInitializeOnLoadMethod标注的方法没有被调用。代码很简单,只是测试用,如下:namespace TestProject{ public class Test { [RuntimeInitializeOnLoad...原创 2018-07-28 12:40:16 · 1455 阅读 · 0 评论