- Home /
PositionHandle causing problems
I am trying to right a very simple editor script to show some waypoints for my charcater to move around, I have it working and the editor script shows the points. But for some reason if I use Handle.PositionHandle I cant select the handles or get them to move but if I change the line for Handle.FreeMoveHandle then everything works just fine. I think it is somehow connected to the GUI.SetNextControlName but I just cant get it to work, if anyone can let me know what I am missing that stops PositionHandles from working when FreeMoveHandles work just fine I would be very grateful. Below is the OnSceneGUI() method I have in my editor script. I am using control names so I dont have all the waypoints showing PositionHandles as that gets a bit much when lots of points have been placed. If I change a value in the inspector or click the 2d icon to switch between 2d and 3d makes the position handles work correctly, and also when the position handles cant be selected I can drag the scene or select the game view tab, it is all very frustrating.
int selected = 0;
string lastfocus = "";
public void OnSceneGUI()
{
MyClass obj = (MyClass)target;
Handles.matrix = obj.transform.localToWorldMatrix;
Handles.color = Color.black;
string hn = GUI.GetNameOfFocusedControl();
if ( hn != lastfocus )
{
if ( hn.Length > 0 )
{
if ( hn[0] == 'k' )
{
GUI.FocusControl("");
string hn1 = hn.Replace('k', ' ');
selected = int.Parse(hn1);
}
}
lastfocus = hn;
}
for ( int p = 0; p < obj.points.Count; p++ )
{
pm = obj.points[p].p;
GUI.SetNextControlName("k" + p.ToString());
if ( p == selected )
{
Vector3 newp = Handles.PositionHandle(pm, Quaternion.identity);
//Vector3 newp = Handles.FreeMoveHandle(pm, Quaternion.identity, 0.1f, Vector3.zero, Handles.CircleCap);
Vector3 dl = newp - pm;
obj.points[p].p += dl;
}
else
Handles.FreeMoveHandle(pm, Quaternion.identity, 0.01f, Vector3.zero, Handles.CircleCap);
}
Handles.matrix = Matrix4x4.identity;
}
Your answer
Follow this Question
Related Questions
Handles.matrix seems strange? 2 Answers
Keep multiple custom handles visible in the Scene view 0 Answers
How to read the current PivotRotation or PivotMode ? 1 Answer
Left Click Up Event in Editor 4 Answers
Drawing Handles 1 Answer