言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Vector3.Lerp

public static function Lerp(from: Vector3, to: Vector3, t: float): Vector3;

Description

直線上にある2つのベクトル間を補間します

fromfromto の間を補間します。これは最も一般的な 2点を終点としたライン上のある部分を見つけるために使用します。 (例えば、オブジェクトを2点の間で徐々に移動させる) 数は[0...1]の範囲に制限されます。 from = 0 の時は from を返します。 to = 1 の時は to を返します。 from = 0.5 の時は fromto の平均(ちょうど真ん中)を返します。

	// Transforms to act as start and end markers for the journey.
	var startMarker: Transform;
	var endMarker: Transform;
	
	// Movement speed in units/sec.
	var speed = 1.0;
	
	// Time when the movement started.
	private var startTime: float;
	
	// Total distance between the markers.
	private var journeyLength: float;
	
	var target : Transform;
	var smooth = 5.0;
	
	function Start() {
		// Keep a note of the time the movement started.
		startTime = Time.time;
		
		// Calculate the journey length.
		journeyLength = Vector3.Distance(startMarker.position, endMarker.position);
	}
	
	// Follows the target position like with a spring
	function Update () {
		// Distance moved = time * speed.
		var distCovered = (Time.time - startTime) * speed;
		
		// Fraction of journey completed = current distance divided by total distance.
		var fracJourney = distCovered / journeyLength;
		
		// Set our position as a fraction of the distance between the markers.
		transform.position = Vector3.Lerp(startMarker.position, endMarker.position, fracJourney);
	}