То же что MoveTowards, но гарантирует правильную интерполяцию значения, когда оно обернулось на 360 градусов.
Переменные current
и target
предполагаются в градусах.
Из соображений оптимизации, отрицательные значения maxDelta
не поддерживаются и могут привести к дрожанию. Всесто этого, чтобы двигать current
от целевого улга, добавте 180 к этому углу.
var target = 270.0; var speed = 45.0;
function Update () { var angle : float = Mathf.MoveTowardsAngle (transform.eulerAngles.y, target, speed * Time.deltaTime); transform.eulerAngles = Vector3(0, angle, 0); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public float target = 270.0F; public float speed = 45.0F; void Update() { float angle = Mathf.MoveTowardsAngle(transform.eulerAngles.y, target, speed * Time.deltaTime); transform.eulerAngles = new Vector3(0, angle, 0); } }