Version: 2019.2
public static void BeginGUI ();

説明

3D ハンドル GUI 内で 2D GUI の描画を開始します。

The start of a GUILayout sequence of function calls. As expected the EndGUI is used to close these.

See Also: Handles.EndGUI.


GUI in the Scene View.

// Change the transform values for the selected object.
// When selected this script starts and the handleExample is managed.
// The HandlesGUI.BeginGUI() and EndGUI() functions allow the shieldArea
// to be changed back to five, which is the starting value.

using UnityEditor; using UnityEngine;

[CustomEditor(typeof(HandleExample))] class HandleExampleEditor : Editor { protected virtual void OnSceneGUI() { HandleExample handleExample = (HandleExample)target;

if (handleExample == null) { return; }

Handles.color = Color.yellow;

GUIStyle style = new GUIStyle(); style.normal.textColor = Color.green;

Vector3 position = handleExample.transform.position + Vector3.up * 2f; string posString = position.ToString();

Handles.Label(position, posString + "\nShieldArea: " + handleExample.shieldArea.ToString(), style );

Handles.BeginGUI(); if (GUILayout.Button("Reset Area", GUILayout.Width(100))) { handleExample.shieldArea = 5; } Handles.EndGUI();

Handles.DrawWireArc( handleExample.transform.position, handleExample.transform.up, -handleExample.transform.right, 180, handleExample.shieldArea);

handleExample.shieldArea = Handles.ScaleValueHandle(handleExample.shieldArea, handleExample.transform.position + handleExample.transform.forward * handleExample.shieldArea, handleExample.transform.rotation, 1, Handles.ConeHandleCap, 1); } }

Add a script that specifies the object that can be animated in the SceneView.

using UnityEngine;

[ExecuteInEditMode] public class HandleExample : MonoBehaviour { public float shieldArea = 5.0f; }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961