Unity脚本编程
lMonster81
淡泊以明志,宁静以致远
展开
-
Unity控制移动的几种方法
补充:指定速度velocity这种方法只能适用于刚体,因为velocity是刚体特有的属性。代码如下:[csharp] view plain copyvoid Start () { gameObject.GetComponent<Rigidbody>().velocity = Vector3.forward * MoveSpeed;} 1.rigidbody.Mov...转载 2018-04-19 17:52:02 · 1829 阅读 · 0 评论 -
Unity 用代码设置UGUI的渲染层级
用代码设置UGUI渲染无非和三个API有关:1.SetAsFirstSibling();2.SetAsLastSibling();3.SetSiblingIndex(n) SetAsFirstSibling()是设置为最先渲染的,即会被后渲染的挡住。SetAsLastSibling();是设置为最后渲染的,即会挡住比他先渲染的 SetSiblingIndex(...原创 2018-12-13 17:22:26 · 1243 阅读 · 0 评论 -
Unity常用API
一、事件函数执行的先后顺序FixedUpdate每秒执行固定次数,应该将处理跟物理相关的运动的代码放在FixedUpdate中。Update和LateUpdate跟硬件和代码性能有关,每秒执行次数不固定。二、Time类中的静态变量 图中红色为只读值,绿色为可读可写: Time.time 表示从游戏开始到现在的时间,会随着游戏的暂停而停止计算。Time.tim...转载 2018-07-07 19:20:03 · 1121 阅读 · 0 评论 -
AudioSource中的PlayClipAtPoint()和PlayOneShot()
当同一个时间只需播放一个AudioClip时,用AudioSource组件在脚本中用Play(), Pause(), Stop()方法就能满足 当需要在同一个时间播放N中AudioClip时,有两种方法PlayClipAtPoint()和PlayOneShot()1.共同点两个方法都是播放完AudioClip后自动关闭自动销毁2.不同点PlayClipAtPoint()...原创 2018-08-28 13:08:37 · 9079 阅读 · 0 评论 -
Unity Awake() Enable() Start()
1、 Awake函数 首先,我们来看unity的参考手册中对Awake函数的一些说明情况: 当脚本实例被加载时会调用Awake函数;Awake函数在所有的游戏对象被初始化完毕之后才会被调用;在脚本实例的整个生命周期中,Awake函数仅执行一次。那么,脚本实例何时被加载,脚本实例的整个生命周期又代表了什么,因为对这些概念存有疑惑,所以在此基础之上,自己又在引擎中...转载 2018-08-28 12:42:40 · 2064 阅读 · 0 评论 -
通俗讲脚本查找游戏物体Transform.Find()与GameObject.Find()
GameObject.Find()1.可以使用路径查找,也可以不使用。使用路径查找一般可以解决重名问题,但是如果该物体的路径变动,那么代码也需调整。2.如果要查找的物体是隐藏的物体,或者该物体任何一个祖先物体是隐藏的,那么就无法查找这个物体。3.该方法为遍历场景中的所有游戏物体来进行查找,使用效率低,不能放在Update中执行。Transform.Find()1.同样支持路...原创 2018-08-28 12:26:04 · 1114 阅读 · 0 评论 -
Unity 两种Find()
官方:Transform.Findpublic Transform Find(string n);Parametersn Name of child to be found. ReturnsTransform The returned child transform or null if no child is found.DescriptionFinds a...原创 2018-08-01 22:45:45 · 2629 阅读 · 0 评论 -
Unity 3D相机视野控制脚本
涉及了视野放大,缩小,旋转。相机的跟随记得放在LateUpdate里。private void LateUpdate() { transform.position = Vector3.Lerp(transform.position, player.transform.position + offset, Time.deltaTime * 5); S...原创 2018-08-01 20:28:47 · 1266 阅读 · 0 评论 -
Unity 3D游戏斜俯视角相关脚本
键盘控制的旋转:float h = Input.GetAxis("Horizontal");float v = Input.GetAxis("Vertical");Vector3 dir = new Vector3(h, 0, v);Quaternion newRotation = Quaternion.LookRotation(dir);//transform.rotation...原创 2018-08-01 20:04:10 · 2335 阅读 · 0 评论 -
Unity中的Transform.SetParent()API
通常我们所用的SetParent是不带第二个参数的。但是世界坐标系中的物体在与UGUI相结合使用时,往往会出现问题,这个问题基本上都出自于SetParent()的第二个参数。首先看一个基础列子:一个空的GameObject的Transform值:一个Cube的Transform值:他们的关系:Game视图:我们直接在Hierarchy面板中拖动Cube到...原创 2018-07-20 00:44:36 · 10103 阅读 · 0 评论 -
Unity中的两种static
Unity3D中的每一个物体在Inspector中的Static的作用当选中时,这个object是在程序运行时是静止不变的,确保不被改变,一般多用于场景中静止的物体。在unity内部会有不少操作来检测该object是否为static的,对于static的物体进行一些特殊处理,在rendering优化时会根据是否为static来进行不同的优化,在lightmaping时(光照渲染烘焙),会根据是否是...转载 2018-04-24 23:55:33 · 18481 阅读 · 0 评论 -
Unity Input类
获取键盘事件Input.GetKey,某键被持续按下Input.GetKeyDown,某键被按下Input.GetkeyUp,某键被弹起 这些方法的参数是KeyCode类型,返回值是Bool类型。获取鼠标事件Input.GetMouseButtonDown,Input.GetMouseButtonUpInput.GetMouseButton,某键被持续按下 这些方法的参数是I...转载 2018-04-19 20:00:20 · 248 阅读 · 0 评论 -
unity的rigidbody(转载)
Rigidbody刚体游戏对象添加Rigidbody组件后即具备物理属性,当其受力和扭矩影响时可产生更加真实的行为。当操作刚体参数的时候,你应该在FixedUpdate 函数中使用它,物理模拟以离散的时间步执行。FixedUpdate函数在每一步之前被立即调用。使用刚体时应注意,父物体和子物体不应同时具有刚体,也 不应该缩放刚体的父级。 变量:var velocity : Vector3 ...转载 2018-04-19 19:36:35 · 520 阅读 · 0 评论 -
Unity常用的API
一、事件函数执行的先后顺序void FixedUpdate() 每秒执行固定次数,应该将处理物理运动相关的代码放在其中,比如游戏物体的移动。void Update()和LateUpdate() 跟硬件和代码的性能有关,每秒执行的次数不一定。void Invoke(string methodName, float time) 在time时间后,调用methodName函数void ...原创 2018-04-19 19:34:44 · 1018 阅读 · 0 评论 -
unity3d问题集 对Vector3.Lerp 插值的理解 - 转自蛮牛
有时,我们在做游戏时会发现有些跟随动作不够圆滑或者需要一个缓冲的效果,这时,一般会考虑到插值。所以对插值的理解是必需的。(比如摄像机跟随主角)插值是数学上的一个概念,在这里用公式表示就是:from + (to - from) * t;这也就是Lerp的返回值(用这个公式分别算出x,y,z)。static function Lerp (from : Vector3, to : Vector3, t ...转载 2018-04-19 18:26:00 · 435 阅读 · 0 评论 -
Unity 在2D中实现LookAt
由于Transform.LookAt是使Z轴看向目标,而2D基本是由X和Y轴构成的。所以在2D的游戏中,不太好使用。所以用代码实现一个2D的LookAt函数。 例子:我们使怪物的眼睛一直看着云。怪物的眼睛朝向和localX轴的朝向一致,所以使怪物看着云,即将localx指向云。给怪物挂上脚本脚本编写写法一: void Update () { ...原创 2018-12-21 17:12:19 · 3585 阅读 · 0 评论