Handles.RadiusHandle
Declaration
public static float RadiusHandle(Quaternion rotation, Vector3 position, float radius, bool handlesOnly);public static float RadiusHandle(Quaternion rotation, Vector3 position, float radius);Параметры
| Параметр | Описание |
|---|---|
| ротация | Ориентация ручки в 3D пространстве. |
| должность | Центр ручки в пространстве 3D. |
| радиус | Радиус для изменения. |
| handlesOnly | Опустить ли контур радиуса и нарисовать только точечные ручки. |
Возвращаемое значение
поплавок Новое значение, измененное взаимодействием пользователя с ручкой. Если пользователь не переместил ручку, она возвратит то же значение, которое вы передали функции.
Примечание: Используйте HandleUtility.GetHandleSize, если вы хотите, чтобы ручки имели постоянный размер экрана.
Описание
Сделайте Scene ручку радиуса вида.
RadiusHandle на Scene Вид.
// Name this script "EffectRadiusEditor" using UnityEngine; using UnityEditor;
[CustomEditor(typeof(EffectRadius))] public class EffectRadiusEditor : Editor { public void OnSceneGUI() { EffectRadius t = (target as EffectRadius);
EditorGUI.BeginChangeCheck(); float areaOfEffect = Handles.RadiusHandle(Quaternion.identity, t.transform.position, t.areaOfEffect); if (EditorGUI.EndChangeCheck()) { Undo.RecordObject(target, "Changed Area Of Effect"); t.areaOfEffect = areaOfEffect; } } }
И Скрипт, приложенный к этому GameObject:
// Name this script "EffectRadius" using UnityEngine; using System.Collections;
public class EffectRadius : MonoBehaviour { public float areaOfEffect = 1; }