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

スクリプト言語

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

CharacterController.velocity

フィードバック

ありがとうございます

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

閉じる

送信に失敗しました

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

閉じる

キャンセル

マニュアルに切り替える
public var velocity: Vector3;
public Vector3 velocity;

説明

キャラクターの相対的速度を返します。(注意点があります)

これにより、キャラクターが実際にどれだけ早く歩いているかを追跡することが可能です。例えば キャラクターが壁動きがとれないときに、この値は 0 vector になります。

注意: velocity は単に CharacterController.Move や CharacterController.SimpleMove の 呼び出し前後のタイムステップの差異を返します。 velocity は CharacterController 外で起こった Transform の動きを追跡しないので相対的な値になります。 (例えばキャラクターの親が他の Transform の配下で 乗り物のようなもので移動する場合)

	function Update () {
		var controller : CharacterController = GetComponent.<CharacterController>();
		var horizontalVelocity : Vector3 = controller.velocity;
		horizontalVelocity = Vector3(controller.velocity.x, 0, controller.velocity.z);
		
		// The speed on the x-z plane ignoring any speed 
		var horizontalSpeed : float = horizontalVelocity.magnitude;
		// The speed from gravity or jumping
		var verticalSpeed : float = controller.velocity.y;
		// The overall speed
		var overallSpeed : float = controller.velocity.magnitude;
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Update() { CharacterController controller = GetComponent<CharacterController>(); Vector3 horizontalVelocity = controller.velocity; horizontalVelocity = new Vector3(controller.velocity.x, 0, controller.velocity.z); float horizontalSpeed = horizontalVelocity.magnitude; float verticalSpeed = controller.velocity.y; float overallSpeed = controller.velocity.magnitude; } }