- 其一
void Update()
{
float angle = Mathf.MoveTowardsAngle(transform.eulerAngles.y, target, speed * Time.deltaTime);
transform.eulerAngles = new Vector3(0, angle, 0);
}
- 其二
private void Update()
{
transform.rotation = Quaternion.Lerp(A.rotation, B.rotation, Time.time * speed);
}
- 其三
private void Update()
{
C.rotation = Quaternion.RotateTowards(A.rotation, B.rotation, Time.time * speed - 40f);
}
- 其四
public Transform from_T, to_T;
Vector3 from_v, to_v;
Vector3 rotates = Vector3.zero;
float speed = 0.2f;
float l;
void Start()
{
from_v = from_T.position;
to_v = to_T.position;
l = (to_v - from_v).sqrMagnitude;
}
void Update()
{
rotates = Vector3.RotateTowards(from_v, to_v, Time.time*speed,l);
Debug.DrawLine(Vector3.zero, rotates, Color.red, 100.0f);
}
- 其五
public Transform from_T, to_T;
Vector3 from_v, to_v;
Vector3 slerps = Vector3.zero;
float speed = 0.1f;
void Start () {
from_v = from_T.position;
to_v = to_T.position;
}
void Update () {
slerps = Vector3.Slerp(from_v,to_v,Time.time*speed);
Debug.DrawLine(Vector3.zero,slerps,Color.red,100.0f);
}