版本: Unity 6 (6000.0)
语言English
  • C#

Mathf.MoveTowardsAngle

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每一项更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

声明

public static float MoveTowardsAngle(float current, float target, float maxDelta);

描述

MoveTowards 相同,但确保值在绕 360 度循环时正确插值。

变量 currenttarget 假设以度为单位。出于优化原因,不支持 maxDelta 的负值,这可能会导致振荡。要将 current 推离目标角度,请改为向该角度添加 180。

using UnityEngine;

public class Example : MonoBehaviour { float target = 270.0f; float speed = 45.0f;

void Update() { float angle = Mathf.MoveTowardsAngle(transform.eulerAngles.y, target, speed * Time.deltaTime); transform.eulerAngles = new Vector3(0, angle, 0); } }