EditorGUILayout.Vector3Field 三维向量字段


static function Vector3Field (label : string, value : Vector3, params options : GUILayoutOption[]) : Vector3

Parameters参数

  • label
    Optional label in front of 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
       指定额外布局属性的可选列表。这里传递任意值,将覆盖样式定义的设置。

Returns

Vector3 - The value entered by the user.

返回Vector3,由用户输入的值。

Description描述

Make an X, Y & Z field for entering a Vector3.

制作X , Y & Z字段用于输入Vector3。

EditorGUILayout.Vector3Field 三维向量字段

Measure the distance between 2 GameObjects or 2 positions in 3D space.
测量在3D空间两物体或两点之间的距离。

// Simple Script that measures the distance between 2 GameObjects// or measure the distance between 2 positions in 3D space//测量在3D空间两物体或两点之间的距离。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();}}


,