unity三维向量变化为角度_UNITY3D两个物体相对位置、角度、相对速度方向

using UnityEngine;

using System.Collections;

// 两物体相对位置判断、追踪相对速度方向、朝向等计算方向以及角度

public class Direction : MonoBehaviour {

public Vector3 V1;

public Vector3 V2;

void Start()

{

// 为了方便理解便于计算,将向量在 Y 轴上的偏移量设置为 0

V1 = new Vector3( 3, 0, 4);

V2 = new Vector3( -4, 0, 3);

// 分别取 V1,V2 方向上的 单位向量(只是为了方便下面计算)

V1 = V1.normalized;

V2 = V2.normalized;

// 计算向量 V1,V2 点乘结果

// 即获取 V1,V2夹角余弦 cos(夹角)

float direction = Vector3.Dot(V1, V2);

Debug.LogError("direction : " + direction);

// 夹角方向一般取(0 - 180 度)

// 如果取(0 - 360 度)

// direction >= 0 则夹角在 (0 - 90] 和 [270 - 360] 度之间

// direction < 0 则夹角在 (90 - 270) 度之间

// direction 无法确定具体角度

// 反余弦求V1,V2 夹角的弧度

float rad = Mathf.Acos(dir

你可能感兴趣的:(unity三维向量变化为角度)