随笔分类 -  Unity

游戏引擎
摘要:Navigation寻路导航界面下,Areas分页下是在给导航区域分类(相当于分层),以及为每个分类设置不同的消费Cost,意义在于,导航算法中会计算出的是累加起来消耗最低的路径(不一定是视觉上最短可行路径)。例如,设置地面上有一滩沼泽,把该地形新建一个分类,并设置一个很高的消费,那么在正常情况下, 阅读全文
posted @ 2017-07-28 10:16 霍莉雪特 阅读(2387) 评论(0) 推荐(0)
摘要:通常情况下,静态的场景中,给场景物体静态标记中勾选Navigation Static后,在导航界面进行导航网格的烘培,可以得到一个静态的导航网格。 但是由于导航网格是静态烘焙好了的,游戏中动态生成的物体将不能阻挡导航网格的寻路,要想使这些动态生成的物体也能起到阻挡寻路的作用,需要给这些物体添加一个N 阅读全文
posted @ 2017-07-28 10:04 霍莉雪特 阅读(3320) 评论(0) 推荐(0)
摘要:通常情况下,Animator修改状态机,是在Animator定义参数(变量),状态之间建立切换的条件(箭头),然后代码中修改参数(变量),实现状态之间的切换。 而另一种情况下,不需要预先准备定义参数(变量),也不需要在状态之间简历切换的条件(箭头),可以在代码中直接进行状态的切换。 API:http 阅读全文
posted @ 2017-07-27 11:47 霍莉雪特 阅读(2399) 评论(0) 推荐(0)
摘要:概念 静态碰撞体(Static Collider):物体勾选为静态Static,有Collider组件,无Rigidbody组件。 静态碰撞体的陷阱 Unity在游戏初始化时,会把所有的静态碰撞体合并为一个很大的Collider,Unity会认为这些物体在游戏中是不能移动的。但是若在游戏中不小心移动 阅读全文
posted @ 2017-07-26 15:36 霍莉雪特 阅读(1936) 评论(0) 推荐(0)
摘要:Unity的Terrain组件在【set the terrain height】分页下,height高度为0时,可理解为该地形的海平面高度,此时就不能地形下榻。把height调到100,点击【flatten】,然后就能做地形下榻,深坑的深度最多即可达到100. 学习资料: http://www.ma 阅读全文
posted @ 2017-07-26 10:07 霍莉雪特 阅读(7785) 评论(0) 推荐(0)
摘要:真正的手把手教程,太棒了: http://forum.china.unity3d.com/thread-17192-1-1.html 或者是使用插件NJG MiniMap: http://www.taikr.com/article/286 其他参考: http://wty530.blog.51cto 阅读全文
posted @ 2017-07-25 17:10 霍莉雪特 阅读(518) 评论(0) 推荐(0)
摘要:屏幕坐标:左下角为原点。 拖动物体观察打印结果可知:z值是物体到摄像机所在平面(屏幕)的距离,物体在屏幕左下角时x、y为0,物体在屏幕右上角时x、y为当前的屏幕分辨率(Using resolution)。 鼠标坐标:左下角为原点。 移动鼠标观察打印结果可知: z值一直是0,物体在屏幕左下角时x、y为 阅读全文
posted @ 2017-07-18 22:46 霍莉雪特 阅读(3437) 评论(0) 推荐(0)
摘要:Tasks列表 -- Composites选项 Sequence:图标是“箭头”,相当于And逻辑。下接多个子任务,它们从左到右依次执行。所有子任务执行成功,则Sequence返回成功;任一子任务执行中,则Sequence返回执行中;任一子任务失败,其后边(后面)的子任务都不会再执行,Sequenc 阅读全文
posted @ 2017-07-18 22:39 霍莉雪特 阅读(2828) 评论(0) 推荐(0)
摘要:using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; using System; public class LoadingPage : MonoBehaviour { public UISlider progressBar; // 目标进度 float targ... 阅读全文
posted @ 2017-07-18 22:32 霍莉雪特 阅读(8472) 评论(0) 推荐(0)
摘要:一个最简单的协程,也至少需要2帧才能完成。第一帧走到yield return null停止,第二帧从此处接着执行完下面的操作。需求:如果缓存中存在某数据则直接使用,否则联网异步下载。 性能优化:不要在协程内判断是否需要联网下载,在其上层逻辑中就先判断是否需要开启该协程,从而使得原来必须2帧才能完成的 阅读全文
posted @ 2017-07-18 22:29 霍莉雪特 阅读(1025) 评论(0) 推荐(0)
摘要:玩家角色Player的实体类演示。 阅读全文
posted @ 2017-07-18 19:57 霍莉雪特 阅读(1915) 评论(0) 推荐(0)
摘要:动画混合树Blend Tree调整动画片段的播放速度: 0 动画不播放 -1 动画倒着播放:如果只有“往前走”的动画,可以变成“往后走”动画 勾选动画是否镜像: 左右颠倒(挥左手变成挥右手) 过度条件勾选has exit time: 等状态结束才能切换状态,且结束后是自动切换。 Solo与Mute: 阅读全文
posted @ 2017-07-18 19:55 霍莉雪特 阅读(1226) 评论(0) 推荐(0)
摘要:// 判断当前运行平台为Android平台时 if (Application.platform == RuntimePlatform.Android) { if (Input.GetKeyDown(KeyCode.Home)) { // 按Home键 Application.Quit(); // 退出程序 } if (... 阅读全文
posted @ 2017-07-18 19:53 霍莉雪特 阅读(663) 评论(0) 推荐(0)
摘要:一、当通过GetComponent获取一个组件时,不在Update中每帧进行查找,可在Start中查找一次并用一个私有变量去保存这个组件。 二、尽量减少Update中的函数调用。可通过协程或加入标志位实现。一般把标志位检查放在函数外面,这样就无需每一帧都检查标志位,减少了设备性能的消耗。是否可以分帧 阅读全文
posted @ 2017-07-18 19:51 霍莉雪特 阅读(280) 评论(0) 推荐(0)
摘要:ArrayList:长度可变数组,不限定类型 ↓ List:替代ArrayList,限定类型 Hashtable:哈希表,不限定类型 ↓Dictionary:替代Hashtable,限定类型 SortedList:可排序的列表 阅读全文
posted @ 2017-07-18 00:49 霍莉雪特 阅读(2502) 评论(0) 推荐(0)
摘要:public class CameraFollow : MonoBehaviour { public Transform target; // The position that that camera will be following. public float smoothing = 5f; // The speed with which... 阅读全文
posted @ 2017-07-18 00:43 霍莉雪特 阅读(1222) 评论(0) 推荐(0)
摘要:例如,通过按键/摇杆来操作飞机在三维空间的飞行状态。包括速度(大小,方向)、位移。 阅读全文
posted @ 2017-07-18 00:41 霍莉雪特 阅读(5835) 评论(0) 推荐(0)
摘要:方法一:改变物体的transform 方法二:使用刚体的位移函数MovePosition() 方式三:改变刚体的速度rigidbody.velocity。速度是矢量,具有方向性。 阅读全文
posted @ 2017-07-18 00:37 霍莉雪特 阅读(937) 评论(0) 推荐(0)
摘要:其实思路也很简单,就是先获取到鼠标的坐标,然后赋值给目标物体即可。 这是物体即时改变位置的做法,如果想要物体朝鼠标位置缓慢移动(有过程时间),可以尝试用Vector2.Lerp()。 阅读全文
posted @ 2017-07-18 00:34 霍莉雪特 阅读(841) 评论(0) 推荐(0)
摘要:int floorMask; // 自动寻路层 void Awake() { floorMask = LayerMask.NameToLayer("Floor"); } void Turning() { Ray camRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit floorHit; ... 阅读全文
posted @ 2017-07-18 00:33 霍莉雪特 阅读(1758) 评论(0) 推荐(1)