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

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Vector3.Project

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public static function Project(vector: Vector3, onNormal: Vector3): Vector3;
public static Vector3 Project(Vector3 vector, Vector3 onNormal);

Parameters

Description

ベクトルを別のベクトルに投影します。

ベクトルの投影を理解するには、onNormal がその方向の直線上に静止していると想像してみてください。 ラインは vector の先の位置からもっとも近い位置のどこかです。 投影は onNormal に再スケーリングされライン上の位置に到達します。



onNormal がほぼ 0 である場合、この関数は 0 ベクトルを返します。

プロジェクションの使用例として、ターゲットのオブジェクトにできるだけ近くなるようにスライドさせる必要がある Rail-Mounted Gun がそのひとつの例にあたります。 対象物のプロジェクションに沿って リジッドボディに力を適用することでオブジェクトの gun を動かすことができます。

function Slide(target: Transform, railDirection: Vector3) {
	var heading = target.position - transform.position;
	var force = Vector3.Project(heading, railDirection);
	GetComponent.<Rigidbody>().AddForce(force);
}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Slide(Transform target, Vector3 railDirection) { Vector3 heading = target.position - transform.position; Vector3 force = Vector3.Project(heading, railDirection); GetComponent<Rigidbody>().AddForce(force); } }