본문으로 건너뛰기

Geometry Dashboard

Geometry Dashboard는 osu! 편집기 위에 기하학적으로 의미 있는 가상 오브젝트를 겹쳐 보여주는 강력한 도구입니다. 이 가상 점, 선, 원에 오브젝트를 스냅하면 다른 방법으로는 만들기 어렵거나 불가능한 기하학적으로 완벽한 패턴을 만들 수 있습니다.

플랫폼 지원

Geometry Dashboard의 실시간 편집기 오버레이는 Windows 전용 연동 기능에 의존하므로 현재 Windows에서만 사용할 수 있습니다.

팁

이 도구를 사용하려면 Mapping Tools의 Preferences에 사용자 설정 파일 경로를 지정해야 합니다.

핵심 개념​

Geometry Dashboard는 다음 순서로 작동합니다.

  1. osu! 편집기의 현재 상태를 읽습니다. 현재 보이는 히트오브젝트, 편집기 시간, 편집기 창의 위치를 읽습니다.
  2. 히트오브젝트를 바탕으로 가상 오브젝트를 생성합니다. 설정 가능한 생성기가 히트오브젝트로부터 가상 점, 선, 원을 만듭니다.
  3. osu! 편집기 위에 오버레이로 가상 오브젝트를 표시합니다. 생성된 도형을 확인하고 커서를 그 도형에 스냅할 수 있습니다.

사용자 인터페이스​

Geometry Dashboard 창은 여러 영역으로 나뉩니다.

  • Search: 검색창에서 생성기 목록을 필터링해 원하는 항목을 쉽게 찾습니다.
  • Toggle Buttons: 여러 기능을 한꺼번에 켜고 끕니다.
    • Select All
    • Lock All
    • Usability All
  • Savestates Button: Savestates 창을 엽니다.
  • Preferences Button: Preferences 창을 엽니다.
  • Generators List: 사용할 수 있는 생성기와 활성화·비활성화 및 생성기 매개변수 설정 옵션을 표시합니다.

가상 기하 도형​

가상 기하 도형은 이 도구의 핵심입니다. 편집기에 실제 히트오브젝트로 존재하지는 않지만, 매핑 중 커서를 그 위에 올려 정확한 위치를 잡을 수 있는 점으로 표시됩니다.

가상 기하 도형의 상태​

가상 기하 도형에는 켜거나 끌 수 있는 몇 가지 고유한 상태가 있습니다.

  • Selected: 오브젝트를 활성화해 새 오브젝트를 만드는 데 사용할 수 있게 합니다. 선택 단축키를 사용하면 커서 아래에 있는 가상 오브젝트를 선택하거나 선택 해제할 수 있습니다. 선택된 오브젝트는 다른 색의 오버레이와 가장자리의 빛 효과로 강조됩니다.
  • Locked: 잠그면 생성기나 바탕 오브젝트가 사라져도 해당 오브젝트가 함께 사라지지 않습니다. 실수로 지워서는 안 되는 도형을 보존할 때 유용합니다. 잠긴 가상 기하 도형은 회색으로 표시됩니다.
  • Usable: 켜져 있는 가상 기하 도형은 생성기가 추가 도형을 만드는 데 사용할 수 있습니다. 꺼져 있으면 생성기가 이 오브젝트를 무시하며 해당 도형을 바탕으로 추가 오브젝트를 만들지 않습니다. 사용할 수 없는 가상 오브젝트는 어둡게 표시됩니다.
  • Relevancy: 이 도형의 관련성을 나타내는 0~1 사이의 값입니다. 관련성이 높을수록 더 불투명하게 표시됩니다.

생성기​

생성기는 Geometry Dashboard의 핵심 기능입니다. 히트오브젝트와 다른 가상 오브젝트를 바탕으로 가상 오브젝트를 만듭니다.

생성기의 기본 작동 방식​

생성기는 다음과 같이 작동합니다.

  1. 입력 선택: 각 생성기는 필요한 입력 유형인 dependencies와 input predicates를 사용합니다. 입력 조건은 이 생성기에 사용될 가상 오브젝트가 만족해야 하는 추가 규칙입니다. Geometry Dashboard는 이전 레이어에서 필요한 입력 유형과 조건을 만족하는 오브젝트를 찾습니다. 이 규칙에는 오브젝트를 선택해야 하는지, 일정 수준 이상의 관련성이 필요한지 등이 포함됩니다.

  2. 기하 도형 생성: 선택된 입력 오브젝트의 가능한 조합마다 생성기의 메서드로 새 가상 오브젝트를 만듭니다. 생성 메서드는 선택된 입력 오브젝트를 매개변수로 받아 하나 이상의 새 가상 오브젝트를 반환합니다.

  3. 레이어 구성: 새로 만든 가상 오브젝트는 각각 새 레이어에 배치됩니다. Preferences의 Inception Level에서 레이어 수를 설정할 수 있습니다. 아래쪽 레이어의 가상 오브젝트는 다음 레이어에서 더 복잡한 가상 오브젝트가 생성되는 방식에 영향을 줍니다.

  4. 갱신: Geometry Dashboard를 다시 계산해야 하는 변경이 생기면 먼저 Update Mode 설정에 따라 첫 번째 레이어의 오브젝트를 다시 생성합니다. 그 다음 두 번째 레이어부터 더 복잡한 레이어를 차례로 갱신합니다.

불필요한 오브젝트가 너무 많이 생기는 것을 막기 위해, 같은 레이어의 두 오브젝트가 충분히 가까우면 하나로 합치고 관련성 값을 더합니다. 두 오브젝트가 합쳐지는 데 필요한 거리는 Preferences에서 변경할 수 있습니다.

생성기 목록​

Geometry Dashboard에서 사용할 수 있는 생성기는 다음과 같습니다.

  • Basic Generators: 히트오브젝트에서 바로 가상 오브젝트를 만듭니다. 모두 바탕 오브젝트의 평균 시간을 기준으로 시간을 설정합니다.

    • Points on Circles and Slider Heads: 서클과 슬라이더의 시작 위치에 가상 점을 만듭니다.
    • Points on Slider Ends: 슬라이더의 가장 끝에 가상 점을 만듭니다.
    • Points on Slider Anchors: 슬라이더의 앵커(빨간색 및 흰색)를 따라 가상 점을 만듭니다.
    • Points on Last Anchors: 슬라이더 곡선의 마지막 지점에 가상 점을 만듭니다.
    • Lines on Linear Sliders: 슬라이더 유형이 Linear이면 Pos에서 Curve Point까지 가상 선을 만듭니다. 시간과 관련성은 바탕 슬라이더와 같습니다.
    • Points on Blanket Centers: 원형 유형 슬라이더의 중심에 가상 점을 만듭니다. 시간과 관련성은 바탕 슬라이더와 같습니다.
    • Circles on 3-Point Sliders: 블랭킷 곡선이나 완벽한 곡선을 위해 슬라이더 앵커를 기준으로 원을 만듭니다. 시간과 관련성은 바탕 슬라이더와 같습니다.
    • Points on Slider Paths: 슬라이더 경로를 따라 여러 가상 점을 만듭니다. Point Density 설정으로 점의 개수를 조절하세요. 이 생성기는 결과를 계산하기 위해 추가 연산을 수행합니다.
  • Intermediate Generators: 작동하려면 Basic Generators가 필요합니다. 도형을 만들거나 가이드라인을 그리는 데 유용합니다.

    • Tangent Circles on Circle: 첫 번째 입력 원과 한 점에서만 만나는 가상 원을 만듭니다.
    • Circles by Two Points: 가상 점 두 개를 받아 각 점을 중심으로 하는 가상 원 두 개를 만듭니다. 원의 반지름은 두 점 사이의 거리와 같습니다.
    • Equilateral Triangle from Two Points: 가상 점 두 개를 받아 각 점을 한 꼭짓점으로 하는 정삼각형 두 개를 만들도록 양쪽에 가상 점을 생성합니다.
    • Equilateral Triangle from Two Points (Type II): 기본 Triangle Generator와 같지만 삼각형의 배치 방식이 다릅니다.
    • Square from Two Points: 가상 점 두 개를 받아 한 개의 정사각형을 만들도록 양쪽에 가상 점을 생성합니다.
    • Square from Two Points (Type II): 가상 점 두 개를 받아 정사각형 두 개를 만들도록 양쪽에 가상 점을 두 개씩 생성합니다.
    • Line by Two Points: 가상 점 두 개를 연결하는 가상 선을 만듭니다.
    • Average of Two Points: 가상 점 두 개의 평균 위치에 가상 점을 만듭니다.
    • Average of Three Points: 가상 점 세 개의 평균 위치에 가상 점을 만듭니다.
    • Scale & Rotate around a Fixed Point: 고정된 가상 점을 중심으로 임의의 가상 오브젝트를 회전하고 확대·축소합니다. 각도와 배율, 중심점으로 선택할 오브젝트의 추가 조건을 설정할 수 있습니다.
    • Parallel Lines: 선과 점을 받아 그 점을 지나며 해당 선과 평행한 가상 선을 만듭니다.
    • Perpendicular Lines: 선과 점을 받아 그 점을 지나며 해당 선과 수직인 가상 선을 만듭니다.
    • Bisector of Angles: 교차하는 두 가상 선이 이루는 각의 이등분선을 교점에 만듭니다.
    • Bisector of Two Points: 가상 점 두 개의 수직이등분선을 만듭니다.
    • Tangent Lines on Circle: 가상 원과 점을 받아 점에서 원의 양쪽에 닿는 가상 선을 만듭니다.
  • Advanced Generators: 추가 설정이 필요하며 고급 재귀 패턴을 만들 수 있는 특수 생성기입니다.

    • Intersection Points: 가상 선이나 원 두 개를 받아 서로 교차하는 지점마다 가상 점을 만듭니다. 다른 기하 도형 생성 방식과 결합하면 매우 유용합니다. 참고: 교점을 찾는 연산은 비용이 많이 듭니다. 편집기에서 복잡한 도형을 여러 개 활성화하면 성능에 큰 영향을 줄 수 있으니 주의하세요.
    • Successor of 2 Points: 가상 점 두 개를 받아 같은 속도로 움직일 때의 다음 가상 점을 계산합니다. Points on Slider Paths와 함께 사용하면 곡선을 더 정확하게 예측할 수 있습니다.
    • Successor of 3 Points: 가상 점 세 개를 받아 각도와 속도 변화가 같을 때의 다음 가상 점을 계산합니다.
    • Successor of 3 Points Reversed: 가상 점 세 개를 받아 속도 변화는 같고 각도는 반대일 때의 다음 가상 점을 계산합니다.
    • Successor of 4 Points: 가상 점 네 개를 받아 각도, 각도 변화, 속도 변화 및 속도 변화량의 변화가 같을 때의 다음 가상 점을 계산합니다.
    • Scale & Rotate around a Fixed Point: 고정된 가상 점을 중심으로 임의의 가상 오브젝트를 회전하고 확대·축소합니다. 각도와 배율, 중심점으로 선택할 오브젝트의 추가 조건을 설정할 수 있습니다.
    • Reflection across a Line: 가상 선을 대칭축으로 삼아 임의의 가상 오브젝트를 반사합니다.

생성기 옵션​

각 생성기에는 작동 방식을 설정하는 옵션이 있습니다.

  • Active: 생성기를 활성화하거나 비활성화합니다. 비활성화된 생성기는 가상 오브젝트를 만들지 않습니다.
  • Sequential: 생성기가 시간 순서가 이어지는 오브젝트만 입력으로 사용하게 합니다. 켜면 시간 순서상 연속된 가상 오브젝트 쌍만 생성합니다. 생성되는 도형의 양이 크게 줄어 화면이 복잡해지는 것을 막을 수 있습니다.
  • Deep: 생성기가 바로 위 레이어뿐 아니라 조건에 맞는 모든 이전 레이어를 확인하게 합니다.
  • Relevancy Ratio: 이 생성기가 만든 가상 오브젝트의 기본 관련성(0~1)입니다. 다른 입력 오브젝트의 관련성 비율에 따라 실제 관련성은 달라질 수 있습니다.
  • Generates Inheritable: 켜면 생성된 오브젝트를 사용할 수 있습니다. 끄면 다른 생성기가 해당 오브젝트를 사용할 수 없습니다.
  • Input Selection Collection: 생성기가 입력으로 사용할 가상 오브젝트의 조건 모음입니다. 자세한 내용은 입력 선택 상세 안내를 참고하세요.

생성기별 추가 설정​

일부 고급 생성기에는 전용 옵션이 있습니다.

  • Circle from Single Point:
    • Radius: 원의 크기입니다.
  • Points on Slider Paths:
    • Points Density: 슬라이더 경로의 osu! 픽셀당 생성할 점의 개수를 지정합니다.
  • Scale & Rotate around a Fixed Point:
    • Angle: 회전할 각도입니다.
    • Scalar: 균일한 배율 조정 값입니다.
    • Origin Input Selection: 회전 중심점으로 사용할 가상 오브젝트가 만족해야 하는 추가 조건입니다.
    • Other Input Selection: 중심점을 기준으로 변환할 오브젝트가 만족해야 하는 추가 조건입니다.
  • Reflection across a Line
    • Axis Input Selection: 대칭축으로 사용할 가상 오브젝트가 만족해야 하는 추가 조건입니다.
    • Other Input Selection: 대칭축을 기준으로 반사할 오브젝트가 만족해야 하는 추가 조건입니다.

입력 선택 상세 안내​

입력 선택은 생성기가 어떤 가상 오브젝트를 계산에 사용할지 제어하는 주요 기능입니다. 각 생성기는 필요한 입력 유형(예: 점, 선)을 지정하며, 입력 조건으로 오브젝트의 속성에 따라 선택을 세부 조정할 수 있습니다. 입력 선택을 제대로 설정하지 않으면 생성기가 관련 없는 가상 오브젝트를 지나치게 많이 만들거나 필요한 오브젝트를 만들지 못합니다.

선택 조건 모음에는 여러 선택 조건이 포함됩니다. 선택 조건 중 하나만 충족해도 해당 가상 오브젝트를 입력으로 사용할 수 있습니다.

Input Selection 위에 커서를 올리고 더하기 버튼을 눌러 선택 조건을 추가하세요. 조건을 추가하면 가상 도형 생성을 더 세밀하게 제한하는 설정이 표시됩니다.

  • Need Selected: 켜면 선택된 가상 오브젝트만 입력으로 사용합니다. 선택된 오브젝트는 커서로 우선 가리킬 수 있어, 생성할 도형을 세밀하게 조절할 수 있습니다.
  • Need Locked: 켜면 잠긴 오브젝트만 도형 생성에 사용합니다. 잠기지 않은 오브젝트는 인식하지 않습니다. 특정 생성기를 사용할 때 다른 오브젝트를 고정해 두면 유용합니다.
  • Need Generated By This: 이 생성기 자체가 만든 가상 오브젝트만 입력으로 사용합니다. 조건을 잘 설정하면 원하는 도형만 생성하도록 범위를 좁힐 수 있습니다.
  • Need Generated Not By This: 반대로, 이 생성기가 만들지 않은 가상 오브젝트만 입력으로 사용합니다.
  • Min Relevancy: 입력으로 사용할 오브젝트에 필요한 최소 관련성입니다. 관련성 값은 0~1이며, 0으로 설정하면 제한하지 않습니다.

Preferences​

Geometry Dashboard의 Preferences 창에서 동작과 모양을 다양하게 사용자 지정할 수 있습니다.

  • Hotkeys:
    • Snap Key: 누르고 있는 동안 커서를 가상 오브젝트에 스냅하는 키입니다.
    • Select Key: 누르고 있는 동안 가상 오브젝트를 선택하는 키입니다.
    • Lock Key: 누르고 있는 동안 가상 오브젝트를 잠그는 키입니다.
    • Usability Key: 누르고 있는 동안 가상 오브젝트의 사용 가능 여부를 전환하는 키입니다.
    • Refresh Key: 루트 레이어의 히트오브젝트 목록을 즉시 새로고침하는 키입니다.
  • Offset: 편집기 화면을 기준으로 모든 가상 오브젝트의 위치를 조정합니다. 크기나 위치 문제를 보정할 때 사용할 수 있습니다.
    • Left: 편집기 왼쪽 가장자리의 오프셋입니다.
    • Top: 편집기 위쪽 가장자리의 오프셋입니다.
    • Right: 편집기 오른쪽 가장자리의 오프셋입니다.
    • Bottom: 편집기 아래쪽 가장자리의 오프셋입니다.
  • Complexity: 성능 문제를 완화하기 위해 재귀 레이어 수를 제한합니다.
    • Inception Level: 바탕 히트오브젝트에서 생성할 레이어 수입니다.
  • Downkey: 표시할 가상 오브젝트를 전환합니다.
    • Everything: 히트오브젝트에서 만들어진 오브젝트와 그 자손 및 조상을 모두 표시합니다.
    • Parents and parents of parents: 스냅 대상 오브젝트의 조상 오브젝트를 표시합니다.
    • Direct parents: 스냅 대상 오브젝트의 직접 부모만 표시합니다.
    • Children and children of children: 스냅 대상 오브젝트의 모든 자손을 표시합니다.
    • Direct children: 스냅 대상 오브젝트의 직계 자손만 표시합니다.
  • Upkey: Snap Key를 누르지 않았을 때 표시할 가상 오브젝트를 전환합니다.
    • All visible: Selection 옵션 설정에 따라 모든 히트오브젝트를 표시합니다.
    • Nothing: Snap Key를 누르지 않았을 때 모든 오브젝트를 숨깁니다.
  • Selection: 가상 오브젝트 생성에 사용할 히트오브젝트를 전환합니다.
    • All visible: 사용 가능한 모든 히트오브젝트를 포함합니다.
    • Visible or selected: 선택된 히트오브젝트가 있으면 선택된 오브젝트를 모두 사용하고, 없으면 보이는 히트오브젝트를 사용합니다.
    • Selected only: 편집기에서 선택한 히트오브젝트만 사용합니다.
  • Updating: 가상 오브젝트를 갱신할 시점을 설정합니다.
    • Any change: 변경이 생길 때마다 갱신합니다.
    • Time change: 편집기 시간이 바뀔 때 갱신합니다. 반응성은 낮아지지만 성능이 좋아집니다.
    • osu! activated: 현재 osu! 창에 포커스가 올 때 갱신합니다.
    • Hotkey down: 새로고침 단축키를 눌렀을 때 갱신합니다.
  • Behavior: Geometry Dashboard의 추가 동작을 설정합니다.
    • Minimal diff: 가상 오브젝트를 합칠 만큼 가까운 거리입니다.
    • Keep running: 다른 도구를 열어도 Geometry Dashboard를 계속 실행합니다.
    • See playfield: 편집기 위에 플레이필드 경계를 표시합니다.
    • Debug: 편집기 위에 편집기 경계를 표시합니다. 이 옵션을 켜도 편집기가 보이지 않는다면 편집기가 감지 범위 밖에 있다는 뜻입니다.

가상 기하 도형 옵션​

편집기에 표시되는 각 가상 오브젝트 유형은 색, 불투명도, 두께, 선의 점선 여부를 설정할 수 있습니다. 이렇게 하면 오브젝트를 더 쉽게 구분할 수 있습니다.

  • Color: 테두리 색입니다. 색 선택기에서 복사할 수도 있습니다(HEX 값을 클릭하면 복사됩니다).
  • Opacity: 오브젝트의 투명도입니다.
  • Thickness: 가상 오브젝트 윤곽선을 이루는 선의 두께입니다.
  • Dash: 윤곽선을 점선 또는 실선으로 표시할지 설정합니다.

Savestates​

Savestates는 단축키 프로필과 비슷합니다. 생성기마다 설정을 수동으로 바꿀 필요 없이 프로필을 빠르게 전환할 수 있습니다. Savestate에 단축키를 지정해 더 빠르게 바꿀 수도 있습니다.

새 savestate를 만들려면 + 아이콘을 누르세요. 이름과 단축키를 지정할 수 있습니다. 저장 또는 불러오기 버튼으로 현재 설정을 저장하거나 변경할 수 있습니다.