最近在项目记录 对象的 旋转参数,遇到了一个坑,记录一下,直接上代码看图说话:
1.定义参数,本人之前用的四元素记录
public class Data {
public Quaternion q_rota; //四元素
public Vector3 v_rota; //v3
}
2.分别记录旋转值(对象有重力)
样式:
List<Data> infolist = new List<Data> ();
//记录对象旋转值
for (int i = 0; i < obj.Count; i++) {
Data info = new Data ();
info.q_rota = obj[i].transform.rotation; //记录四元素值
info.v_rota = obj[i].transform.rotation.eulerAngles; //记录欧拉角绝对值
infolist.Add (info);
}
3.分别重新生成实例
3.1 读取四元素:
go.transform.rotation = infolist [i].q_rota;//四元素赋值
Debug.Log ("加载 四元素 旋转:" + go.transform.rotation);
3.2 读取 v3:
go.transform.rotation = Quaternion.Euler(infolist [i].v_rota);//v3赋值
Debug.Log ("加载 V3 旋转:" + go.transform.rotation);
4.使用什么记录旋转并赋值,很明显!
5.来瓶 HEYTEA 压压惊