editor

드릴 편집

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

1193
atk1 (player)atk2 (player)def1 (player)ball1 (ball)goal1 (goal)

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

애니메이션 스텝

1
#1
#1
2
#1
#1
3
#1
DSL JSON 보기
{
  "version": "0.1.0",
  "meta": {
    "title": "측면 돌파 후 크로스 마무리",
    "ageGroup": "U-14",
    "durationMin": 15,
    "tags": [
      "공격",
      "측면",
      "크로스",
      "마무리"
    ],
    "setup": "하프 코트. 측면 공격수 1명, 문전 공격수 1명, 수비 1명.",
    "coachingPoints": [
      "크로스 타이밍 전에 문전 침투를 맞춘다",
      "니어/파 포스트 중 빈 곳을 노린다"
    ]
  },
  "field": {
    "type": "soccer_half",
    "orientation": "horizontal",
    "showGrid": false
  },
  "entities": [
    {
      "kind": "player",
      "id": "atk1",
      "position": {
        "x": 30,
        "y": 82
      },
      "team": "attack",
      "label": "11"
    },
    {
      "kind": "player",
      "id": "atk2",
      "position": {
        "x": 55,
        "y": 45
      },
      "team": "attack",
      "label": "9"
    },
    {
      "kind": "player",
      "id": "def1",
      "position": {
        "x": 78,
        "y": 55
      },
      "team": "defense",
      "label": "3"
    },
    {
      "kind": "ball",
      "id": "ball1",
      "position": {
        "x": 31,
        "y": 83
      }
    },
    {
      "kind": "goal",
      "id": "goal1",
      "position": {
        "x": 95,
        "y": 50
      },
      "widthM": 7.32
    }
  ],
  "animation": {
    "steps": [
      {
        "label": "11 측면 돌파(드리블)",
        "moves": [
          {
            "target": "atk1",
            "type": "dribble",
            "easing": "spring",
            "keyframes": [
              {
                "t": 1.1,
                "position": {
                  "x": 76,
                  "y": 86
                }
              }
            ]
          },
          {
            "target": "ball1",
            "type": "dribble",
            "easing": "spring",
            "keyframes": [
              {
                "t": 1.1,
                "position": {
                  "x": 77,
                  "y": 85
                }
              }
            ]
          }
        ]
      },
      {
        "label": "크로스, 9 문전 침투",
        "moves": [
          {
            "target": "ball1",
            "type": "pass",
            "easing": "linear",
            "keyframes": [
              {
                "t": 0.5,
                "position": {
                  "x": 86,
                  "y": 50
                }
              }
            ]
          },
          {
            "target": "atk2",
            "type": "run",
            "easing": "spring",
            "keyframes": [
              {
                "t": 0.9,
                "position": {
                  "x": 84,
                  "y": 49
                }
              }
            ]
          }
        ]
      },
      {
        "label": "9 헤더/발 마무리",
        "moves": [
          {
            "target": "ball1",
            "type": "shot",
            "easing": "linear",
            "keyframes": [
              {
                "t": 0.35,
                "position": {
                  "x": 95,
                  "y": 50
                }
              }
            ]
          }
        ]
      }
    ],
    "loop": false
  }
}

영상 만들기

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