private void OnDrawGizmos() { ScreenGuiTest item = this; Transform tr = item.transform; Handles.color = Color.red; float halfAngle = item.viewingAngle * 0.5f; //// 아크 그리기 Handles.DrawWireArc(tr.position, tr.up , tr.forward.AngleToYDirection(-halfAngle), item.viewingAngle , item.viewingDistance); item.viewingDistance = (float)Handles.ScaleValueHandle (item.viewingDistance, tr.position + tr.forward * item.viewingDistance , tr.rotation, 1, Handles.ConeHandleCap, 1); // 아크의 왼쪽 오른쪽 직선 그리기 Handles.DrawLine(tr.position , tr.forward.AngleToYDirection(-halfAngle) * item.viewingDistance);// 왼쪽선 그리기. Handles.DrawLine(tr.position , tr.forward.AngleToYDirection(halfAngle) * item.viewingDistance); // 오른쪽선 그리기. GUIStyle style = new GUIStyle(); style.fontStyle = FontStyle.Bold; style.normal.textColor = Color.red; Vector3 namePos = tr.position; Handles.Label(namePos, "텍스트", style); }
void OnSceneGUI() { ScreenGuiTest item = (ScreenGuiTest)target; Transform tr = item.transform; item.viewingDistance = (float)Handles.ScaleValueHandle(item.viewingDistance , tr.position + tr.forward * item.viewingDistance , tr.rotation, 1, Handles.ConeHandleCap, 1); }
private void OnDrawGizmos() { // 디버그_라인그리기 if (EditorOption.Options[OptionType.디버그_라인그리기] == false) { return; } ScreenGuiTest item = this; Transform tr = item.transform; Handles.color = Color.red; float halfAngle = item.viewingAngle * 0.5f; // 아크 그리기 // tr.up = vector3(0, 1, 0) = 초록색 축 = y축 // tr.forward = vector3(0, 0, 1) = 파란색 축 = z축 Handles.DrawWireArc(tr.position, tr.up , tr.forward.AngleToYDirection(-halfAngle), item.viewingAngle , item.viewingDistance); item.viewingDistance = (float)Handles.ScaleValueHandle (item.viewingDistance, tr.position + tr.forward * item.viewingDistance , tr.rotation, 3, Handles.ConeHandleCap, 1); // 아크의 왼쪽 오른쪽 직선 그리기 // 원하는 각도만큼 방향을 돌리려면 rotation(각도) * vector3(object.tr.directoin) Handles.DrawLine(tr.position , tr.forward.AngleToYDirection(-halfAngle) * item.viewingDistance);// 왼쪽선 그리기. Handles.DrawLine(tr.position , tr.forward.AngleToYDirection(halfAngle) * item.viewingDistance); // 오른쪽선 그리기. // 문자열 그리기 GUIStyle style = new GUIStyle(); style.fontStyle = FontStyle.Bold; style.normal.textColor = Color.red; Vector3 namePos = tr.position; Handles.Label(namePos, "텍스트", style); }