Skip to content

Commit fc59d23

Browse files
committed
Change quaternion field to eular form
1 parent ae3f197 commit fc59d23

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

UInspectorPlus/Helpers.cs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,15 +210,23 @@ internal static StringBuilder JoinStringList(StringBuilder sb, IEnumerable<strin
210210
}
211211

212212
internal static Quaternion QuaternionField(string label, Quaternion value, params GUILayoutOption[] options) {
213-
var cValue = new Vector4(value.x, value.y, value.z, value.w);
214-
cValue = EditorGUILayout.Vector4Field(label, cValue, options);
215-
return new Quaternion(cValue.x, cValue.y, cValue.z, cValue.w);
213+
var cValue = value.eulerAngles;
214+
var changed = GUI.changed;
215+
GUI.changed = false;
216+
cValue = EditorGUILayout.Vector3Field(label, cValue, options);
217+
if (GUI.changed) return Quaternion.Euler(cValue);
218+
GUI.changed = changed;
219+
return value;
216220
}
217221

218222
internal static Quaternion QuaternionField(Rect position, string label, Quaternion value) {
219-
var cValue = new Vector4(value.x, value.y, value.z, value.w);
220-
cValue = EditorGUI.Vector4Field(position, label, cValue);
221-
return new Quaternion(cValue.x, cValue.y, cValue.z, cValue.w);
223+
var cValue = value.eulerAngles;
224+
var changed = GUI.changed;
225+
GUI.changed = false;
226+
cValue = EditorGUI.Vector3Field(position, label, cValue);
227+
if (GUI.changed) return Quaternion.Euler(cValue);
228+
GUI.changed = changed;
229+
return value;
222230
}
223231

224232
internal static object EnumField(Rect position, GUIContent label, Type type, object value) {

0 commit comments

Comments
 (0)