Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Mathf.SmoothDampAngle

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function SmoothDampAngle(current: float, target: float, ref currentVelocity: float, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): float;
public static float SmoothDampAngle(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);
public static function SmoothDampAngle(current: float, target: float, ref currentVelocity: float, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): float;
public static float SmoothDampAngle(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);
public static function SmoothDampAngle(current: float, target: float, ref currentVelocity: float, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): float;
public static float SmoothDampAngle(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);

Параметры

current @param current Текущая позиция.
target @param target Позиция которой хотим достичь.
currentVelocity @param currentVelocity Текущая скорость. Это значение модифицируется функцией каждый раз, когда вы вызываете ее.
smoothTime @param smoothTime Приблизительное время требующееся для достижения цели. Наименьшее значение достигнет цели быстрее.
maxSpeed @param maxSpeed Опционально позволяет вам ограничить максимальную скорость.
deltaTime @param deltaTime Время прошедшее с последнего вызова данной функции. По умолчанию Time.deltaTime.

Описание

Постепенно меняет угол в градусах, до достижения целевого угла, с течением времени.

Значение сглаживается функцией подобной пружинному амортизатору. Функция может использоваться для сглаживания любого значений, позиции, цвета или скалярных величин. Наиболее часто используется для сглаживания следования камеры.

	// A simple smooth follow camera,
	// that follows the targets forward direction

var target : Transform; var smooth = 0.3; var distance = 5.0; private var yVelocity = 0.0; function Update () { // Damp angle from current y-angle towards target y-angle var yAngle : float = Mathf.SmoothDampAngle(transform.eulerAngles.y, target.eulerAngles.y, yVelocity, smooth); // Position at the target var position : Vector3 = target.position; // Then offset by distance behind the new angle position += Quaternion.Euler(0, yAngle, 0) * Vector3 (0, 0, -distance); // Apply the position transform.position = position;

// Look at the target transform.LookAt(target); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Transform target; public float smooth = 0.3F; public float distance = 5.0F; private float yVelocity = 0.0F; void Update() { float yAngle = Mathf.SmoothDampAngle(transform.eulerAngles.y, target.eulerAngles.y, ref yVelocity, smooth); Vector3 position = target.position; position += Quaternion.Euler(0, yAngle, 0) * new Vector3(0, 0, -distance); transform.position = position; transform.LookAt(target); } }