editor

드릴 편집

선수·공·콘을 드래그해 배치하고, 메타 정보를 다듬은 뒤 DSL 로 내보냅니다.

1234D
atk1 (player)atk2 (player)atk3 (player)atk4 (player)def1 (player)ball1 (ball)

원을 눌러 선택, 드래그해 이동. 파랑=공격, 빨강=수비, 주황=콘, 흰색=공, 회색=골대. 아래에서 무브의 경로 편집 을 켜면 자홍색 경유점을 캔버스에서 바로 끌 수 있습니다. 엔티티를 지우면 이를 참조하던 움직임도 함께 정리됩니다.

애니메이션 스텝

1
#1
#1
2
#1
#1
3
#1
#1
DSL JSON 보기
{
  "version": "0.1.0",
  "meta": {
    "title": "4대1 론도 (볼 소유)",
    "ageGroup": "U-10",
    "durationMin": 10,
    "tags": [
      "패스",
      "볼소유",
      "론도"
    ],
    "setup": "가로세로 12m 정사각. 공격 4명이 변에, 수비 1명이 중앙.",
    "coachingPoints": [
      "수비 반대쪽으로 빠르게 전환한다",
      "받기 전에 다음 패스 방향을 미리 본다"
    ]
  },
  "field": {
    "type": "custom",
    "orientation": "horizontal",
    "showGrid": false
  },
  "entities": [
    {
      "kind": "player",
      "id": "atk1",
      "position": {
        "x": 35,
        "y": 35
      },
      "team": "attack",
      "label": "1"
    },
    {
      "kind": "player",
      "id": "atk2",
      "position": {
        "x": 65,
        "y": 35
      },
      "team": "attack",
      "label": "2"
    },
    {
      "kind": "player",
      "id": "atk3",
      "position": {
        "x": 65,
        "y": 65
      },
      "team": "attack",
      "label": "3"
    },
    {
      "kind": "player",
      "id": "atk4",
      "position": {
        "x": 35,
        "y": 65
      },
      "team": "attack",
      "label": "4"
    },
    {
      "kind": "player",
      "id": "def1",
      "position": {
        "x": 50,
        "y": 50
      },
      "team": "defense",
      "label": "D"
    },
    {
      "kind": "ball",
      "id": "ball1",
      "position": {
        "x": 37,
        "y": 36
      }
    }
  ],
  "animation": {
    "steps": [
      {
        "label": "1 → 2 패스",
        "moves": [
          {
            "target": "ball1",
            "type": "pass",
            "easing": "linear",
            "keyframes": [
              {
                "t": 0.4,
                "position": {
                  "x": 63,
                  "y": 36
                }
              }
            ]
          },
          {
            "target": "def1",
            "type": "run",
            "easing": "spring",
            "keyframes": [
              {
                "t": 0.9,
                "position": {
                  "x": 56,
                  "y": 44
                }
              }
            ]
          }
        ]
      },
      {
        "label": "2 → 3 패스",
        "moves": [
          {
            "target": "ball1",
            "type": "pass",
            "easing": "linear",
            "keyframes": [
              {
                "t": 0.4,
                "position": {
                  "x": 64,
                  "y": 63
                }
              }
            ]
          },
          {
            "target": "def1",
            "type": "run",
            "easing": "spring",
            "keyframes": [
              {
                "t": 0.9,
                "position": {
                  "x": 60,
                  "y": 55
                }
              }
            ]
          }
        ]
      },
      {
        "label": "3 → 4 대각 전환",
        "moves": [
          {
            "target": "ball1",
            "type": "pass",
            "easing": "linear",
            "keyframes": [
              {
                "t": 0.4,
                "position": {
                  "x": 37,
                  "y": 64
                }
              }
            ]
          },
          {
            "target": "def1",
            "type": "run",
            "easing": "spring",
            "keyframes": [
              {
                "t": 0.9,
                "position": {
                  "x": 52,
                  "y": 58
                }
              }
            ]
          }
        ]
      }
    ],
    "loop": false
  }
}

영상 만들기

2D: 스텝 자막·나레이션·인트로/아웃로 포함(보통 30~90초). 3D: 선수 캐릭터·골키퍼·나레이션 포함 — GPU 없는 서버라 수십 분 걸리는 배치 렌더입니다. 작업 ID가 나오면 탭을 닫아도 아래에서 그 ID로 결과를 받을 수 있어요(24시간 보관).