Question by
kyleyoungblom · Apr 22, 2021 at 10:24 PM ·
handles
Handles.DrawSolidDisc not working
I'm trying to get handles, specifically Handles.DrawSolidDisc, to display in editor. They weren't showing with my custom script, so I grabbed this example from the docs to test, and it doesn't work either. I attach the script to a gameObject, but no handles are drawn in editor. Tested in 2020.2.0f1 and 2021.1.0f1. They were working on my custom script a few months ago; not sure what might have changed in the meantime. Any ideas?
Mono:
using UnityEngine;
[ExecuteInEditMode]
public class DrawSolidDisc : MonoBehaviour
{
public float shieldArea = 5;
}
Editor
using UnityEngine;
using UnityEditor;
[CustomEditor( typeof( DrawSolidDisc ) )]
public class DrawSolidDiscEditor : Editor
{
void OnSceneGUI( )
{
DrawSolidDisc t = target as DrawSolidDisc;
Handles.color = Color.blue;
Handles.Label( t.transform.position + Vector3.up * 2,
t.transform.position.ToString( ) + "\nShieldArea: " +
t.shieldArea.ToString( ) );
Handles.BeginGUI( );
GUILayout.BeginArea( new Rect( Screen.width - 100, Screen.height - 80, 90, 50 ) );
if( GUILayout.Button( "Reset Area" ) )
t.shieldArea = 5;
GUILayout.EndArea( );
Handles.EndGUI( );
Handles.color = new Color( 1, 1, 1, 0.2f );
Handles.DrawSolidDisc( t.transform.position, t.transform.up, t.shieldArea );
Handles.color = Color.white;
t.shieldArea = Handles.ScaleValueHandle( t.shieldArea,
t.transform.position + t.transform.forward * t.shieldArea,
t.transform.rotation, 1, Handles.ConeHandleCap, 1 );
}
}
Comment