Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Mathf.SmoothDamp

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public static function SmoothDamp(current: float, target: float, ref currentVelocity: float, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): float;
public static float SmoothDamp(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);
public static function SmoothDamp(current: float, target: float, ref currentVelocity: float, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): float;
public static float SmoothDamp(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);
public static function SmoothDamp(current: float, target: float, ref currentVelocity: float, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): float;
public static float SmoothDamp(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);

パラメーター

current 現在位置
target 目的地
currentVelocity 現在の速度。この値は関数が呼び出されるたびに変更されます。
smoothTime target へ到達するまでのおおよその時間。値が小さいほど、target に速く到達します。
maxSpeed オプションとして、最大速度を制限することができます。
deltaTime この関数が最後に呼び出されてからの経過時間。デフォルトは Time.deltaTime 変数。

説明

徐々に時間をかけて望む目標に向かって値を変更します。

値はバネとダンパーのような関数によって滑らかにされるので、過剰になってしまうことはありません。 関数は値、位置、色、スカラーなどの種類を滑らかにするために使用できます。

	// Smooth towards the height of the target

var target : Transform; var smoothTime = 0.3; private var yVelocity = 0.0; function Update () { var newPosition : float = Mathf.SmoothDamp(transform.position.y, target.position.y, yVelocity, smoothTime); transform.position = Vector3(transform.position.x, newPosition, transform.position.z); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Transform target; public float smoothTime = 0.3F; private float yVelocity = 0.0F; void Update() { float newPosition = Mathf.SmoothDamp(transform.position.y, target.position.y, ref yVelocity, smoothTime); transform.position = new Vector3(transform.position.x, newPosition, transform.position.z); } }