Version: 5.3 (switch to 5.4b)
ЯзыкEnglish
  • C#
  • JS

Язык программирования

Выберите подходящий для вас язык программирования. Все примеры кода будут представлены на выбранном языке.

Handles.RadiusHandle

Предложить изменения

Успех!

Благодарим вас за то, что вы помогаете нам улучшить качество документации по Unity. Однако, мы не можем принять любой перевод. Мы проверяем каждый предложенный вами вариант перевода и принимаем его только если он соответствует оригиналу.

Закрыть

Ошибка внесения изменений

По определённым причинам предложенный вами перевод не может быть принят. Пожалуйста <a>попробуйте снова</a> через пару минут. И выражаем вам свою благодарность за то, что вы уделяете время, чтобы улучшить документацию по Unity.

Закрыть

Отменить

Руководство
public static function RadiusHandle(rotation: Quaternion, position: Vector3, radius: float, handlesOnly: bool): float;
public static float RadiusHandle(Quaternion rotation, Vector3 position, float radius, bool handlesOnly);
public static function RadiusHandle(rotation: Quaternion, position: Vector3, radius: float): float;
public static float RadiusHandle(Quaternion rotation, Vector3 position, float radius);

Параметры

rotation @param rotation ориентация маркера.
position @param position Центр маркера в 3D пространстве.
radius @param radius Радиус для изменения.
handlesOnly Whether to omit the circular outline of the radius and only draw the point handles.

Возврат значений

float @return Новую позицию. Если пользователь не выполнил операцию, будет возвращено то же значение, что вы передавали в позицию.

Важно: Используйте HandleUtility.GetHandleSize если вам нужны маркеры постоянного размера.

Описание

Назначает радиус маркера в окне Scene.


"Маркер слайдера в окне 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; } } }

Скрипт, прикрепленный к этому маркеру:


        
// Name this script "EffectRadius"
using UnityEngine;
using System.Collections;

public class EffectRadius : MonoBehaviour {

public float areaOfEffect = 1;

}