using System; using System.Collections; using System.Collections.Generic; using UnityEngine; namespace MyFrameworkPure { /// /// 向量工具类 /// public static class VectorTool { /// /// 将英文逗号分隔的字符串转换为Vector3 /// /// /// /// public static Vector3 ConvertStringToVecotr3(string str, char c = ',') { try { string[] splits = str.Split(c); return new Vector3(float.Parse(splits[0]), float.Parse(splits[1]), float.Parse(splits[2])); } catch (Exception e) { Debug.LogException(e); } return Vector3.zero; } /// /// 计算两个向量之间的角度(0-360) /// /// /// /// /// public static float Angle360(Vector3 from, Vector3 to,Vector3 axis) { float angle = Vector3.SignedAngle(from, to, axis); return angle < 0 ? 360 + angle : angle; } /// /// 将欧拉角分量默认范围0-360转为-180~180 /// /// /// public static Vector3 ConvertToEuler180(Vector3 euler) { if (euler.x > 180) euler.x = euler.x - 360; if (euler.y > 180) euler.y = euler.y - 360; if (euler.z > 180) euler.z = euler.z - 360; return euler; } } }