unity项目字符串转为Vector3和Quaternion
Posted 叫我张先生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity项目字符串转为Vector3和Quaternion相关的知识,希望对你有一定的参考价值。
运用环境:一般在读取csv表格的数据时是string类型转为Vector3或者Quaternion类型
字符串格式:x,x,x /x,x,x,x (英文逗号)
方法:
/// <summary> /// 字符串转Vector3 /// </summary> /// <param name="p_sVec3">需要转换的字符串</param> /// <returns></returns> public static Vector3 GetVec3ByString(string p_sVec3) { if (p_sVec3.Length <= 0) return Vector3.zero; string[] tmp_sValues = p_sVec3.Trim(‘ ‘).Split(‘,‘); if (tmp_sValues != null && tmp_sValues.Length == 3) { float tmp_fX = float.Parse(tmp_sValues[0]); float tmp_fY = float.Parse(tmp_sValues[1]); float tmp_fZ = float.Parse(tmp_sValues[2]); return new Vector3(tmp_fX, tmp_fY, tmp_fZ); } return Vector3.zero; }
/// <summary> /// 字符串转换Quaternion /// </summary> /// <param name="p_sVec3">需要转换的字符串</param> /// <returns></returns> public static Quaternion GetQuaByString(string p_sVec3) { if (p_sVec3.Length <= 0) return Quaternion.identity; string[] tmp_sValues = p_sVec3.Trim(‘ ‘).Split(‘,‘); if (tmp_sValues != null && tmp_sValues.Length == 4) { float tmp_fX = float.Parse(tmp_sValues[0]); float tmp_fY = float.Parse(tmp_sValues[1]); float tmp_fZ = float.Parse(tmp_sValues[2]); float tmp_fH = float.Parse(tmp_sValues[3]); return new Quaternion(tmp_fX, tmp_fY, tmp_fZ, tmp_fH); } return Quaternion.identity; }
作为备注方便以后使用
以上是关于unity项目字符串转为Vector3和Quaternion的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D之Vector3.Dot和Vector3.Cross的使用