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

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

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

Handles.Disc

Руководство
public static Quaternion Disc(Quaternion rotation, Vector3 position, Vector3 axis, float size, bool cutoffPlane, float snap);

Параметры

rotation @param rotation Вращение диска.
position @param position Центр диска.
axis @param axis Оси для вращения вокруг.
size @param size Размер диска в пространстве See Also:HandleUtility.GetHandleSize.
cutoffPlane @param cutoffPlane Если true, перетаскивается только фронтальная половина круга. Это полезно, когда у вас много перекрывающихся осей вращения (как в стандартном инструменте "rotate"), чтобы избежать путаницы.
snap @param size Размер маркера.

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

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

Описание

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


"Маркер слайдера в окне Scene".

To use this example, save this script in Assets/Editor:

using UnityEngine;
using UnityEditor;

[CustomEditor( typeof( DiscHandle ) )] public class DiscHandleEditor : Editor { public float cylinderSize = 1;

void OnSceneGUI( ) { DiscHandle t = target as DiscHandle;

EditorGUI.BeginChangeCheck( ); Quaternion rot = Handles.Disc( t.rot, t.transform.position, new Vector3(1, 1, 0), 5, false, 1 );

if( EditorGUI.EndChangeCheck( ) ) { Undo.RecordObject( target, "Disc Rotate" ); t.rot = rot; t.Update( ); } } }

..and place this script on the object you wish to attach a Disc Handle:

using UnityEngine;

[ExecuteInEditMode] public class DiscHandle : MonoBehaviour { public Quaternion rot = Quaternion.identity;

public void Update( ) { transform.rotation = rot; } }