Объявление
public static float RadiusHandle(Quaternion rotation, Vector3 position, float radius, bool handlesOnly);public static float RadiusHandle(Quaternion rotation, Vector3 position, float radius);
Параметры
rotation | Ориентация ручки. |
position | Центр ручки в трехмерном пространстве. |
radius | Радиус для изменения. |
handlesOnly | Следует ли опускать круговой контур радиуса и рисовать только маркеры точек. |
Возвращает
float Новое значение, измененное взаимодействием пользователя с дескриптором. Если пользователь не перемещал дескриптор, он вернет то же значение, которое вы передали в функцию. Примечание. Используйте HandleUtility.GetHandleSize, если вы хотите иметь дескрипторы постоянного размера экрана.
Описание
Создаёт маркер радиуса просмотра сцены.

// 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;
}
}
}
И скрипт, прикрепленный к этому игровому объекту:
// Name this script "EffectRadius"
using UnityEngine;
using System.Collections;
public class EffectRadius : MonoBehaviour
{
public float areaOfEffect = 1;
}