常用方法:这个方法是网上使用频率较高的,但是适用于unity2018以上,unity2017使用这个代码打包会报错
public Vector3 GetInspectorRotationValueMethod(Transform mTransform)
{
// 获取原生值
Type transformType = mTransform.GetType();
PropertyInfo m_propertyInfo_rotationOrder = transformType.GetProperty("rotationOrder", BindingFlags.Instance | BindingFlags.NonPublic);
object m_OldRotationOrder = m_propertyInfo_rotationOrder.GetValue(mTransform, null);
MethodInfo m_methodInfo_GetLocalEulerAngles = transformType.GetMethod("GetLocalEulerAngles", BindingFlags.Instance | BindingFlags.NonPublic);
object value = m_methodInfo_GetLocalEulerAngles.Invoke(mTransform, new object[] { m_OldRotationOrder });
//Debug.Log("反射调用GetLocalEulerAngles方法获得的值:" + value.ToString());
string temp = value.ToString();
//将字符串第一个和最后一个去掉
temp = temp.Remove(0, 1);
temp &