Version: 2021.3


class in UnityEditor



シーンビューで 3D GUI の制御と描画のカスタマイズを行うクラス

Handles are the 3D controls that Unity uses to manipulate items in the Scene view. There are a number of built-in Handle GUIs, such as the familiar tools to position, scale and rotate an object via the Transform component. However, it is also possible to define your own Handle GUIs to use with custom component editors. Such GUIs can be a very useful way to edit procedurally-generated Scene content, "invisible" items and groups of related objects, such as waypoints and location markers.

You can also supplement the 3D Handle GUI in the Scene with 2D buttons and other controls overlaid on the Scene view. This is done by enclosing standard Unity GUI calls in a Handles.BeginGUI and Handles.EndGUI pair within the Editor.OnSceneGUI function. You can use HandleUtility.GUIPointToWorldRay and HandleUtility.WorldToGUIPoint to convert coordinates between 2D GUI and 3D world coordinates.

using UnityEngine;
using UnityEditor;
public class ExampleScript : MonoBehaviour
    public float value = 7.0f;

// A tiny custom editor for ExampleScript component [CustomEditor(typeof(ExampleScript))] public class ExampleEditor : Editor { // Custom in-scene UI for when ExampleScript // component is selected. public void OnSceneGUI() { var t = target as ExampleScript; var tr = t.transform; var pos = tr.position; // display an orange disc where the object is var color = new Color(1, 0.8f, 0.4f, 1); Handles.color = color; Handles.DrawWireDisc(pos, tr.up, 1.0f); // display object "value" in scene GUI.color = color; Handles.Label(pos, t.value.ToString("F1")); } }


Static 変数

colorColors of the handles.
lineThicknessRetrieves the user preference setting that controls the thickness of tool handle lines. (Read Only)
preselectionColorColor to use to highlight an unselected handle currently under the mouse pointer.
secondaryColorSoft color to use for for general things.
UIColliderHandleColorColor to use for the Unity UI's padding visualization.
xAxisColorColor to use for handles that manipulates the X coordinate of something.
yAxisColorY 座標を操作するハンドルに使用する色
zAxisColorZ 座標を操作するハンドルに使用する色
zTestzTest of the handles.



Static 関数

ArrowHandleCapMove ツールで使用されるような Arrow を描画します。
BeginGUI3D ハンドル GUI 内で 2D GUI の描画を開始します。
ButtonMake a 3D Button.
ConeHandleCapコーン(円錐) ハンドルを描き、これをハンドル関数に渡します。
CylinderHandleCapシリンダー ハンドルを描き、これをハンドル関数に渡します。
Discマウスでドラッグして 3D ディスクを作ります。
DrawAAConvexPolygonポイント配列で指定されたアンチエイリアス Convex ポリゴンを描画します。
DrawDottedLine p1 から p2 に点線を描画します。
DrawGizmosDraw a subset of Gizmos (before or after postprocessing) for the given camera.
DrawLineDraws a line from p1 to p2.
DrawPolyLineDraw a line going through the list of points.
DrawSolidArc3D 空間に扇形を描画します。
DrawSolidDisc中の空間まで色のついた、フラットな円を 3D 空間に描画します。
DrawSolidRectangleWithOutline3D 空間に太い実線の矩形を描画します。
DrawTexture3DSDFDraws a 3D texture using Signed Distance Field rendering mode in 3D space.
DrawTexture3DSliceDraws a 3D texture using Slice rendering mode in 3D space.
DrawTexture3DVolumeDraws a 3D texture using Volume rendering mode in 3D space.
DrawWireArcDraws a circular arc in 3D space.
DrawWireCube center と size からキューブを描画します
DrawWireDiscDraws the outline of a flat disc in 3D space.
EndGUI現在のハンドルカメラ上で 2D GUI のブロックを終了し、3D ハンドル GUI に戻ります。
GetMainGameViewSizeGet the width and height of the main game view.
Label3D 空間に配置されるテキスト ラベルを作成します。
MakeBezierPointsRetuns an array of points to representing the bezier curve.
PositionHandleMake a position handle.
RadiusHandleシーンビューに Radius ハンドルを作成します。
RotationHandleシーンビューの Rotation ハンドルを作ります。
ScaleHandleシーンビューの Scale ハンドルを作成します。
ScaleValueHandleMake a 3D handle that scales a single float.
SetCameraすべての Handle と Gizmo がその設定で描画されるように現在のカメラを設定してください。
ShouldRenderGizmosDetermines whether or not to draw Gizmos.
SliderMake a 3D slider that moves along one axis.
Slider2DMake a 3D slider that moves along a plane defined by two axes.
SnapToGridRounds each Transform.position to the closest multiple of EditorSnap.move.
SnapValueRounds value to the closest multiple of snap if snapping is active. Note that snap can only be positive.
SphereHandleCapスフィア(球体) ハンドルを描き、これをハンドル関数に渡します。
TransformHandleCreates a transform handle.


CapFunction例えば、ハンドルを描画するために使用する関数 Handles.RectangleCap
SizeFunctionA delegate type for getting a handle's size based on its current position.