Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Handles.DrawBezier

Объявление

public static void DrawBezier(Vector3 startPosition, Vector3 endPosition, Vector3 startTangent, Vector3 endTangent, Color color, Texture2D texture, float width);

Параметры

startPosition Начальная точка линии Безье.
endPosition Конечная точка линии Безье.
startTangent Начальная касательная линии Безье.
endTangent Конечная касательная линии Безье.
color Цвет, используемый для линии Безье.
texture Текстура, используемая для рисования линии Безье.
width Ширина линии Безье.

Описание

Рисует текстурированную линию Безье через начальную и конечную точки с заданными касательными.

Чтобы получить эффект сглаживания, используйте текстуру размером 1x2 пикселя с одним прозрачным белым пикселем и одним непрозрачным белым пикселем. Кривая Безье будет построена с использованием этой текстуры.

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

Линия Безье в режиме просмотра сцен.
using UnityEngine; using UnityEditor; [CustomEditor(typeof(BezierExample))] public class DrawBezierExample : Editor { private void OnSceneViewGUI(SceneView sv) { BezierExample be = target as BezierExample; be.startPoint = Handles.PositionHandle(be.startPoint, Quaternion.identity); be.endPoint = Handles.PositionHandle(be.endPoint, Quaternion.identity); be.startTangent = Handles.PositionHandle(be.startTangent, Quaternion.identity); be.endTangent = Handles.PositionHandle(be.endTangent, Quaternion.identity); Handles.DrawBezier(be.startPoint, be.endPoint, be.startTangent, be.endTangent, Color.red, null, 2f); } void OnEnable() { Debug.Log("OnEnable"); SceneView.onSceneGUIDelegate += OnSceneViewGUI; } void OnDisable() { Debug.Log("OnDisable"); SceneView.onSceneGUIDelegate -= OnSceneViewGUI; } }

И скрипт, прикрепленный к этому дескриптору:

using UnityEngine; public class BezierExample : MonoBehaviour { public Vector3 startPoint = new Vector3(-0.0f, 0.0f, 0.0f); public Vector3 endPoint = new Vector3(-2.0f, 2.0f, 0.0f); public Vector3 startTangent = Vector3.zero; public Vector3 endTangent = Vector3.zero; }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3