お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。
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.
Close2つのベクトルの内積
内積は2つのベクトルを乗算し、 2つのベクトル間の角度の余弦を乗算したベクトルの大きさと同じfloat値です。 2つのベクトルが全く同じ方向を指している場合、正規化されたベクトルの内積は1を返します。 反対方向を向く場合は-1を返します。またベクトルが垂直である場合0を返します。
// detects if other transform is behind this object var other : Transform; function Update() { if (other) { var forward = transform.TransformDirection(Vector3.forward); var toOther = other.position - transform.position; if (Vector3.Dot(forward,toOther) < 0) print ("The other transform is behind me!"); } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Transform other; void Update() { if (other) { Vector3 forward = transform.TransformDirection(Vector3.forward); Vector3 toOther = other.position - transform.position; if (Vector3.Dot(forward, toOther) < 0) print("The other transform is behind me!"); } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public other as Transform def Update() as void: if other: forward as Vector3 = transform.TransformDirection(Vector3.forward) toOther as Vector3 = (other.position - transform.position) if Vector3.Dot(forward, toOther) < 0: print('The other transform is behind me!')