void OnSceneGUI() { DrawWireCube t = target as DrawWireCube; if (t.IkPositionList.Count == 0) { t.IkPositionList = t.transform.GetComponent <Point>().iks; } for (int i = 0; i < t.IkPositionList.Count; i++) { IkPositions currentIK = t.IkPositionList[i]; if (currentIK.target != null) { // Default color, to be overwritten once determined IK part Color targetColor = Color.red; switch (currentIK.IK) { case AvatarIKGoal.LeftHand: targetColor = Color.cyan; break; case AvatarIKGoal.RightHand: targetColor = Color.yellow; break; case AvatarIKGoal.LeftFoot: targetColor = Color.magenta; break; case AvatarIKGoal.RightFoot: targetColor = Color.green; break; default: Debug.Log("Invalid IK component!"); break; } Handles.color = targetColor; Handles.CubeHandleCap(0, currentIK.target.position, currentIK.target.rotation, 0.05f, EventType.Repaint); if (currentIK.hint != null) { Handles.CubeHandleCap(0, currentIK.hint.position, currentIK.hint.rotation, 0.05f, EventType.Repaint); } } else { // Assign IKs to editor t.IkPositionList = t.transform.GetComponent <Point>().iks; } } }
void OnSceneGUI() { DrawWireCube t = target as DrawWireCube; if (t.ikPos.Count == 0) { t.ikPos = t.transform.GetComponent <Point>().iks; } for (int i = 0; i < t.ikPos.Count; i++) { if (t.ikPos[i].target != null) { Color targetColor = Color.red; switch (t.ikPos[i].ik) { case AvatarIKGoal.LeftFoot: targetColor = Color.magenta; break; case AvatarIKGoal.LeftHand: targetColor = Color.cyan; break; case AvatarIKGoal.RightFoot: targetColor = Color.green; break; case AvatarIKGoal.RightHand: targetColor = Color.yellow; break; } Handles.color = targetColor; Handles.CubeCap(0, t.ikPos[i].target.position, t.ikPos[i].target.rotation, 0.05f); if (t.ikPos[i].hint != null) { Handles.CubeCap(0, t.ikPos[i].hint.position, t.ikPos[i].hint.rotation, 0.05f); } } else { t.ikPos = t.transform.GetComponent <Point>().iks; } } }
void OnSceneGUI() { DrawWireCube t = target as DrawWireCube; if (t.ikPos.Count == 0) { t.ikPos = t.transform.GetComponent <Point>().iks; } foreach (var ik in t.ikPos) { if (ik.target == null) { continue; } var targetColor = Color.red; switch (ik.ik) { case AvatarIKGoal.LeftFoot: targetColor = Color.blue; break; case AvatarIKGoal.RightFoot: targetColor = Color.green; break; case AvatarIKGoal.LeftHand: targetColor = Color.cyan; break; case AvatarIKGoal.RightHand: targetColor = Color.yellow; break; } Handles.color = targetColor; Handles.CubeCap(0, ik.target.position, ik.target.rotation, 0.05f); if (ik.hint != null) { Handles.CubeCap(0, ik.hint.position, ik.hint.rotation, 0.05f); } } }