Name | Description |
---|---|
label | Label to display above the field. |
value | The value to edit. |
options |
An optional list of layout options that specify extra layouting properties. Any values passed in here will override settings defined by the style. See Also: GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight |
Vector3 - The value entered by the user.
Make an X, Y & Z field for entering a Vector3.
Measure the distance between 2 GameObjects or 2 positions in 3D space.
// Simple Script that measures the distance between 2 GameObjects
// or measure the distance between 2 positions in 3D space
class EditorGUILayoutVector3Field extends EditorWindow {
var distance : float = 0;
var obj1 : Vector3;
var obj2 : Vector3;
@MenuItem("Examples/Measure Distance between 2 objects")
static function Init() {
var window = GetWindow(EditorGUILayoutVector3Field);
window.Show();
}
function OnGUI() {
GUILayout.Label("Select an object in the Hierarchy view and click 'Capture Position'");
EditorGUILayout.BeginHorizontal();
obj1 = EditorGUILayout.Vector3Field("GameObject 1:", obj1);
if(GUILayout.Button("Capture Position"))
obj1 = Selection.activeTransform.position;
EditorGUILayout.EndHorizontal();
EditorGUILayout.BeginHorizontal();
obj2 = EditorGUILayout.Vector3Field("GameObject 2:", obj2);
if(GUILayout.Button("Capture Position"))
obj2 = Selection.activeTransform.position;
EditorGUILayout.EndHorizontal();
EditorGUILayout.LabelField("Distance:", distance.ToString());
if(GUILayout.Button("Close"))
this.Close();
}
function OnInspectorUpdate() {
distance = Vector3.Distance(obj1,obj2);
this.Repaint();
}
}