Unity 6.3
0 онлайн 60 гостей 3 в системе
Вход

Handles.DrawSolidArc

Declaration

public static void DrawSolidArc(Vector3 center, Vector3 normal, Vector3 from, float angle, float radius);

Параметры

Параметр Описание
центр Центр окружности.
нормальное Нормальная окружности.
от Направление точки на окружности, относительно центра, где начинается сектор.
угол Угол сектора в градусах.
радиус Радиус круга

Примечание: Используйте HandleUtility.GetHandleSize там, где вы хотите иметь постоянные ручки размера экрана.

Описание

Нарисуйте круглый сектор (кусок пирога) в пространстве 3D.


Твердая дуга в виде Scene.

using UnityEditor;
using UnityEngine;

static class ArcExample { static Vector3 m_Angle = new Vector3(1.5f, .66f, 0f);

// Create an arc at 0, 0, 0 in the Scene view and a slider that changes thes angle of the arc. [InitializeOnLoadMethod] static void Init() => SceneView.duringSceneGui += view => { Handles.DrawLine(new Vector3(1.5f, 0f, 0f), new Vector3(1.5f, 1f, 0f)); var handleSize = HandleUtility.GetHandleSize(m_Angle) * .1f; m_Angle = Handles.Slider(m_Angle, Vector3.up, handleSize, Handles.DotHandleCap, EditorSnapSettings.move.x); m_Angle.y = Mathf.Clamp(m_Angle.y, 0f, 1f); Handles.Label(m_Angle + Vector3.right * handleSize * 2f, $"Angle {m_Angle.y * 360f}");

Handles.DrawSolidArc(Vector3.zero, Vector3.forward, Vector3.up, m_Angle.y * -360f, 1f); }; }