初识
发布时间 :
字数:327
初识
跟随目标转动
1 2 3
| Vector3 vec = (target.position - transform.position); Quaternion rotate = Quaternion.LookRotation(vec); transform.localRotation = Quaternion.Slerp(transform.localRotation, rotate, angleSpeed);
|
每隔一段时间调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| IEnumerator Func() { while(true) { yield return new WaitForSeconds(2.0f); } }
private float passedTime; public float targetTime; void Repete() { if(passedTime>targetTime) { passedTime = 0; } passedTime += Time.deltaTime;
InvokeRepeating("functionName", 0, 3); CancelInvoke("functionName");
|
Lerp 和 SLerp
用于可控制时间的缓慢旋转 transform.Rotation = Quaterntion.Lerp()
线性插值 球形插值
从四元数的角度来看,线性插值每帧得出的旋转结果是不均匀的,这个比Slerp更快但是如果旋转较远看起来就比较差。因此球形插值更为合理,它不改变长度
通过标签来查找
GameObject.FindWithTag( 标签名 )如果场景中存在指定标签的游戏对象,那么返回该对象的引用,否则返回null;
如果多个游戏对象使用同一标签,那么返回第一个游戏对象的引用(这里的第一个,指的是最后一个添加的游戏对象)。
如果场景中有多个相同标签的游戏对象,可以通过FindGameobjectWithTag()方法获取游戏对象数组。