フィールドラベルのインデントラベル
EditorGUILayout.LabelField will display the string given as an argument. This string can be displayed at a horizontal position, and the position changed by indentLevel. As indentLevel increases the labels will move right. Decreasing indentLevel will move labels to the left.
Shows info of the selected object.
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor;
public class EditorGUIIndent : EditorWindow { [MenuItem("Examples/indentLevel demo")] static void Init() { EditorWindow window = GetWindow(typeof(EditorGUIIndent)); window.position = new Rect(100, 100, 300, 150); window.Show(); }
void OnGUI() { Transform obj = Selection.activeTransform; EditorGUILayout.LabelField("Name:", obj ? obj.name : "Select an Object");
if (obj) { // Indent further the area of position and rotation EditorGUI.indentLevel++; EditorGUILayout.LabelField("Position:", obj.position.ToString()); EditorGUILayout.LabelField("Rotation:", obj.rotation.eulerAngles.ToString());
// Indent further again the area of rotation values EditorGUI.indentLevel++; EditorGUILayout.LabelField("X:", obj.rotation.x.ToString()); EditorGUILayout.LabelField("Y:", obj.rotation.y.ToString()); EditorGUILayout.LabelField("Z:", obj.rotation.z.ToString()); EditorGUILayout.LabelField("W:", obj.rotation.w.ToString());
// End of inner area EditorGUI.indentLevel--; EditorGUILayout.LabelField("Scale:", obj.localScale.ToString());
// End of area EditorGUI.indentLevel--; } } }
将来の互換性を最大にするには特定のインデントラベルを決めつけてしまわないことですが、 上記の例のように代わりにもっとインデントが必要なコントロールのブロックの周囲にひとつ増やすか減らしてみてください。