EditorGUILayout.Vector3Field 三维向量字段

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

Parameters参数

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();
	}
}
最后修改:2011年7月14日 Thursday 16:58

本脚本参考基于Unity 3.4.1f5

英文部分版权属©Unity公司所有,中文部分© Unity圣典 版权所有,未经许可,严禁转载 。