using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace XericLibrary.Runtime.MacroLibrary
{
///
/// 矢量宏库
///
[Obsolete("与扩展库放在一起,不要单独出现")]
public static class MacroVector3
{
///
/// 获取与世界正交轴最近的一条轴线
///
///
///
public static Vector3 GetWorldNormalAxis(Vector3 vector)
{
Vector3[] axes = { Vector3.right, Vector3.up, Vector3.forward };
float minAngle = float.MaxValue;
Vector3 minAngleAxis = Vector3.zero;
foreach(Vector3 axis in axes)
{
float dot = Vector3.Dot(vector, axis);
float angle = Mathf.Abs(dot);
if(angle < minAngle)
{
minAngle = angle;
minAngleAxis = axis * Mathf.Sign(dot);
}
}
return minAngleAxis;
}
}
}