editor

드릴 편집

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

7101145
atk1 (player)atk2 (player)atk3 (player)def1 (player)def2 (player)ball1 (ball)goal1 (goal)

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

애니메이션 스텝

1
#1
#1
2
#1
3
#1
DSL JSON 보기
{
  "version": "0.1.0",
  "meta": {
    "title": "3대2 속공 마무리",
    "ageGroup": "U-12",
    "durationMin": 15,
    "tags": [
      "공격",
      "속공",
      "3대2",
      "슈팅"
    ],
    "setup": "하프 코트. 공격 3명, 수비 2명, 골키퍼 없이 정규골.",
    "coachingPoints": [
      "수적 우위를 빠른 전개로 살린다",
      "폭을 넓게 써 수비 간격을 벌린다",
      "마지막 패스는 수비 등 뒤로"
    ]
  },
  "field": {
    "type": "soccer_half",
    "orientation": "horizontal",
    "showGrid": false
  },
  "entities": [
    {
      "kind": "player",
      "id": "atk1",
      "position": {
        "x": 35,
        "y": 30
      },
      "team": "attack",
      "label": "7"
    },
    {
      "kind": "player",
      "id": "atk2",
      "position": {
        "x": 40,
        "y": 50
      },
      "team": "attack",
      "label": "10"
    },
    {
      "kind": "player",
      "id": "atk3",
      "position": {
        "x": 35,
        "y": 70
      },
      "team": "attack",
      "label": "11"
    },
    {
      "kind": "player",
      "id": "def1",
      "position": {
        "x": 62,
        "y": 42
      },
      "team": "defense",
      "label": "4"
    },
    {
      "kind": "player",
      "id": "def2",
      "position": {
        "x": 62,
        "y": 58
      },
      "team": "defense",
      "label": "5"
    },
    {
      "kind": "ball",
      "id": "ball1",
      "position": {
        "x": 41,
        "y": 51
      }
    },
    {
      "kind": "goal",
      "id": "goal1",
      "position": {
        "x": 95,
        "y": 50
      },
      "widthM": 7.32
    }
  ],
  "animation": {
    "steps": [
      {
        "label": "10 이 전진, 좌우 침투",
        "moves": [
          {
            "target": "atk1",
            "type": "run",
            "easing": "spring",
            "keyframes": [
              {
                "t": 1.2,
                "position": {
                  "x": 70,
                  "y": 28
                }
              }
            ]
          },
          {
            "target": "atk3",
            "type": "run",
            "easing": "spring",
            "keyframes": [
              {
                "t": 1.2,
                "position": {
                  "x": 70,
                  "y": 72
                }
              }
            ]
          }
        ]
      },
      {
        "label": "10 → 11 스루패스",
        "moves": [
          {
            "target": "ball1",
            "type": "pass",
            "easing": "linear",
            "keyframes": [
              {
                "t": 0.5,
                "position": {
                  "x": 72,
                  "y": 70
                }
              }
            ]
          }
        ]
      },
      {
        "label": "11 슈팅",
        "moves": [
          {
            "target": "ball1",
            "type": "shot",
            "easing": "linear",
            "keyframes": [
              {
                "t": 0.45,
                "position": {
                  "x": 95,
                  "y": 52
                }
              }
            ]
          }
        ]
      }
    ],
    "loop": false
  }
}

영상 만들기

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