Unity
文章平均质量分 80
SerenaHaven
这个作者很懒,什么都没留下…
展开
-
Unity性能优化——Rigidbody2D详解
在移动或旋转一个物体时,往往会直接使用Transform来执行这些操作。比如使用如下代码来移动一个GameObject: void Update(){ this.transform.Translate (Vector3.left * speed * Time.deltaTime); }这种方法对于不具物理特性的GameObject来说,是可行的。但是一旦G...原创 2017-12-20 15:25:51 · 38598 阅读 · 9 评论 -
UGUI——RectTransform详解
什么是RectTransform创建一个UGUI控件时,查看其Inspector面板,原先熟悉的Transform已经被替换成RectTransform,面板也与原先的Transform的面板相去甚远。先看看Unity官方对RectTransform的描述: Position, size, anchor and pivot information for a rectangle...原创 2017-12-18 19:43:50 · 41159 阅读 · 4 评论 -
Unity——在运行时修改Animator Controller状态机中的动画片段
在开发中,经常会有在运行时根据对象的不同状态来修改播放动画的需求。比如做一个射击游戏,那么持手枪时、攻击使用的动画片段明显是不能与持匕首时相同的。原先用Legacy Animation时,是可以很方便地修改的。而Mecanim基于状态机,动画片段存在于状态机中的状态里。想要实现上述需求,相较于之前也是麻烦了不少。最容易想到的解决方案是,在Animator Controller状态机中分别建...原创 2017-12-15 21:50:24 · 11422 阅读 · 0 评论 -
Unity——Time.timeScale详解
开始Time.timeScale是个很有意思的属性。先看看官方的介绍(版本2017.2.0f3): The scale at which the time is passing. This can be used for slow motion effects. When timeScale is 1.0 the time is passing as fast as real......原创 2018-01-04 23:32:50 · 20607 阅读 · 6 评论 -
Unity——用代码实现序列帧动画
序列帧动画经常用到,最直接的方式就是用Animation录制。但某些情况下这种方式并不是太友好,需要靠代码的方式进行序列帧动画的实现。代码实现序列帧动画,基本的思路是定义一个序列帧的数组/列表,根据时间的流逝来确定使用哪一帧并更新显示。原创 2018-02-06 18:01:34 · 8202 阅读 · 1 评论 -
Unity周边——在Unity3D中使用DragonBones动画
开始1、下载并安装DragonBonesPro,官网地址http://dragonbones.com/cn/。2、我这里的软件环境是Windows平台、Unity版本2017.3.0。需要下载Windows版,然后进行傻瓜式安装。当前DragonBonesPro最新版本为5.6.0。3、安装结束后,打开软件。首次使用时,会默认打开欢迎页。4、点击打开红框所示示例项目。注意菜单栏...原创 2018-03-31 18:23:52 · 10208 阅读 · 2 评论 -
UGUI——RaycastTarget Checker
UGUI默认会打开一些组件的RaycastTarget属性。事实上,绝大部分的UI组件,是不需要响应Raycast的。出于性能优化考虑,这些不需要响应Raycast的UI组件,应该去掉其Raycast Target选项的勾选。我这里写了个检查UI组件Raycast Target属性的工具,在脚本放在Project下任意的Editor目录下即可。原创 2018-07-09 15:56:32 · 1517 阅读 · 0 评论 -
UGUI——解决UGUI中ScrollView下嵌套Button时Button难以响应的问题
有个常见的需求是一个滑动列表,其中每一个单元都是可交互的按钮。在电脑(低dpi、大尺寸的设备)上,看不出问题;但是换到手机(高dpi、小尺寸的设备)上时,可能会出现单元按钮的点击事件很难被响应。原创 2018-06-28 17:03:00 · 5353 阅读 · 3 评论 -
Unity——关于UnityEngine.Object的判空
#开始先看一段代码:using UnityEngine;public class UnityEngineObjectCheck : MonoBehaviour { void Start () { GameObject go1 = new GameObject ("go1"); GameObject go2 = new GameOb原创 2018-10-25 18:19:54 · 7396 阅读 · 0 评论