インスペクタでのAnimationCurveの利用


インスペクタ上でAnimationCurveを使ったデータの利用。
グラフをいじって、Evaluate(float time)にて、timeに対する値が取得できる。

using UnityEngine;
using System.Collections;

/// <summary>
/// AnimationCurveのテスト。
/// </summary>
public class CurveTest : MonoBehaviour {
	/// <summary>
	/// AnimationCurve.
	/// </summary>
	[SerializeField]
	AnimationCurve curve;

	/// <summary>
	/// 経過時間。
	/// </summary>
	float passedTime = 0f;

	/// <summary>
	/// Update.
	/// </summary>
	void Update () {
		passedTime += Time.deltaTime;
		int sec = (int)passedTime;
		float per = passedTime - sec;

		Vector3 pos = this.transform.position;
		pos.x = this.curve.Evaluate(per);
		this.transform.position = pos;
	}
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です