> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create 명령

> Create 명령

`create` 명령은 터치 적응 번들의 소스 콘텐츠(약칭으로 unpacked bundle)를 만들거나 기존 unpacked 번들에 새 레이아웃을 추가하는 데 사용됩니다.
게임에 터치 적응을 추가하는 데 있어 시작점이 됩니다.

다음 표는 `create` 명령과 함께 사용할 수 있는 다양한 하위 명령을 보여줍니다. `create` 명령은 단독으로 사용할 수 없으며, 하위 명령을 제공해야 한다는 점에 유의하세요.

| 하위 명령                      | 설명                                             |
| -------------------------- | ---------------------------------------------- |
| [`bundle`](#create-bundle) | 개발을 위한 새 unpacked 터치 적응 번들을 만듭니다.              |
| [`layout`](#create-layout) | 기존 unpacked 터치 적응 번들에서 템플릿을 기반으로 새 레이아웃을 만듭니다. |

<a id="create-bundle" />

## Create Bundle

`create bundle` 하위 명령은 새 터치 적응 번들에 필요한 모든 소스 콘텐츠를 빠르게 생성해 줍니다. 게임에 대한 기존 unpacked 번들이 없는 경우 터치 적응의 시작점입니다.

새 번들을 시작하는 데 필요한 모든 디렉터리와 파일을 만듭니다. 여기에는 다양한 언어에 대한 JSON 레이아웃 파일이 포함된 루트 [layouts](/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-bundle#layouts) 디렉터리, 언어별로 다양한 DPI에 대한 자산이 포함된 루트 [assets](/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-bundle#assets) 디렉터리, 번들을 설명하는 루트 번들 [구성](/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-bundle#configuration) 파일(`takxconfig.json`), 그리고 동적 레이아웃 상태 및 재사용 가능한 레이아웃 정의를 위한 빈 [context](/build/core-features/common/game-streaming/game-streaming-touch-touch-adaptation-bundle#context) 파일이 포함됩니다.

<a id="create-bundle-options" />

### 옵션

unpacked 터치 적응 번들의 생성을 구성하려면 다음 표의 옵션을 사용하세요.

| 옵션                                                               | 설명                                                                                                                                                                                                                                                                          |
| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--destination`<br />`--name`                                    | 필수. unpacked 번들을 배치할 대상 경로. 이는 단순 이름이나 전체 경로가 될 수 있습니다.<br /> \[!참고] 대상에 어떤 파일이나 디렉터리가 존재하는 경우, 먼저 이를 삭제하려면 `--overwrite-destination` 옵션을 사용해야 합니다.<br /> \[!참고] 경로 대신 단순 이름이 사용되는 경우, 현재 작업 디렉터리에 생성된 번들이 포함됩니다.                                                           |
| `--layouts-directory-name`<br />`--layouts-dir`<br />`--layouts` | 터치 컨트롤 레이아웃을 저장할 하위 디렉터리의 이름. 이는 루트 레이아웃 디렉터리입니다.<br />기본값: `layouts`.                                                                                                                                                                                                      |
| `--assets-directory-name`<br />`--assets-dir`<br />`--assets`    | 터치 컨트롤 자산을 저장할 하위 디렉터리의 이름. 이는 루트 자산 디렉터리입니다.<br />기본값: `assets`.                                                                                                                                                                                                           |
| `--layout-languages`                                             | 루트 레이아웃 디렉터리 아래에 언어 디렉터리 생성에 사용할 IETF 언어 태그 목록. `neutral`은 항상 생성됩니다.<br />기본값: 빈 목록.                                                                                                                                                                                        |
| `--asset-languages`                                              | 루트 자산 디렉터리 아래에 언어 디렉터리 생성에 사용할 IETF 언어 태그 목록. `neutral`은 항상 생성됩니다.<br />기본값: 빈 목록.                                                                                                                                                                                          |
| `--version`                                                      | 번들의 콘텐츠 버전.<br />기본값: `1.0.0.0`.                                                                                                                                                                                                                                            |
| `--version-name`                                                 | 번들의 콘텐츠 버전 이름.<br />기본값: 빈 문자열.                                                                                                                                                                                                                                             |
| `--context-file-name`<br />`--context-file`<br />`--context`     | 번들의 컨텍스트 파일 이름.<br />기본값: `context.json`.                                                                                                                                                                                                                                   |
| `--templates`                                                    | 생성 시 번들에 추가할 하나 이상의 템플릿 레이아웃 목록. 템플릿은 항상 `neutral` 레이아웃 언어 디렉터리와 `--layout-languages`에 지정된 언어에 해당하는 언어 디렉터리에 추가됩니다.<br />[사용 가능한 템플릿 목록 보기.](/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-templates)<br />기본값: `Blank`. |
| `--no-templates`                                                 | 번들에 템플릿을 추가하지 않습니다. `--templates`가 지정된 경우 사용할 수 없습니다.<br />기본값: `false`.                                                                                                                                                                                                    |
| `--overwrite-destination`<br />`--overwrite`                     | 대상의 이전 콘텐츠를 삭제합니다. 대상이 비어 있지 않은 경우 필수입니다.<br />기본값: `false`.                                                                                                                                                                                                                |

<a id="create-bundle-examples" />

### 예제

다음 예제는 새 unpacked 터치 적응 번들을 만드는 방법을 보여줍니다.

***

기본 blank 템플릿으로 간단한 새 unpacked 번들 만들기

```
D:\CreateBundleExamples> tak create bundle --name SampleBundle
Creating loose touch adaptation bundle 'SampleBundle'.
Creating bundle config file.
Creating layouts and assets directories.
Creating language directories.
Creating context file.
Added 1 templates to bundle.
Created loose touch adaptation bundle at 'D:\CreateBundleExamples\SampleBundle'.
```

출력:

```
D:.
└───CreateBundleExamples
    └───SampleBundle
        │   context.json
        │   takxconfig.json
        │
        ├───assets
        │   └───neutral
        │       ├───@1.0x
        │       ├───@1.5x
        │       ├───@2.0x
        │       ├───@3.0x
        │       └───@4.0x
        └───layouts
            └───neutral
                    blank.json
```

***

일부 레이아웃 언어, 템플릿 및 사용자 지정 디렉터리 이름을 사용하여 다른 드라이브에 새 번들 만들기

```
C:\> tak create bundle --destination D:\CreateBundleExamples\SomeFolder\AnotherFolder\SampleBundle --layout-languages fr fr-FR en-US --templates Menu Cinematic RacingBasic RacingAdvanced --layouts-dir touch-control-layouts --assets-dir touch-control-assets --context-file touch-control-context
Creating loose touch adaptation bundle 'SampleBundle'.
Creating bundle config file.
Creating layouts and assets directories.
Creating language directories.
Creating context file.
Added 4 templates to bundle.
Created loose touch adaptation bundle at 'D:\CreateBundleExamples\SomeFolder\AnotherFolder\SampleBundle'.
```

출력:

```
D:.
└───CreateBundleExamples
    └───SomeFolder
        └───AnotherFolder
            └───SampleBundle
                │   takxconfig.json
                │   touch-control-context.json
                │
                ├───touch-control-assets
                │   └───neutral
                │       ├───@1.0x
                │       ├───@1.5x
                │       ├───@2.0x
                │       ├───@3.0x
                │       └───@4.0x
                └───touch-control-layouts
                    ├───en
                    │   └───en-US
                    │           cinematic.json
                    │           menu.json
                    │           racing-advanced.json
                    │           racing-basic.json
                    │
                    ├───fr
                    │   │   cinematic.json
                    │   │   menu.json
                    │   │   racing-advanced.json
                    │   │   racing-basic.json
                    │   │
                    │   └───fr-FR
                    │           cinematic.json
                    │           menu.json
                    │           racing-advanced.json
                    │           racing-basic.json
                    │
                    └───neutral
                            cinematic.json
                            menu.json
                            racing-advanced.json
                            racing-basic.json
```

<Note>명령에서 --layout-languages 옵션으로 'fr'과 'fr-FR'을 모두 지정하면 템플릿이 각 해당 디렉터리에 추가됩니다. 그러나 'en-US'만 지정되었으므로 템플릿은 'en-US' 디렉터리에만 추가되고 상위 'en' 디렉터리에는 추가되지 않습니다. 이러한 지정과 상관없이 템플릿은 항상 neutral 디렉터리에 추가됩니다.</Note>

생성된 번들 구성 파일(`takxconfig.json`)은 `create bundle` 명령에 전달된 매개 변수를 나타내는 구성을 반영합니다.

```json theme={null}
{
  "$schema": "https://raw.githubusercontent.com/microsoft/xbox-game-streaming-tools/main/touch-adaptation-kit/schemas/takxconfig/v1/takxconfig.json",
  "layouts": {
    "path": "touch-control-layouts"
  },
  "assets": {
    "path": "touch-control-assets"
  },
  "context": {
    "path": "touch-control-context.json"
  },
  "version": "1.0.0.0",
  "versionName": "Initial"
}
```

***

<a id="create-layout" />

## Create Layout

`create layout` 하위 명령을 사용하면 기존 unpacked 번들에 새 레이아웃을 추가할 수 있습니다. [`create bundle`](#create-bundle)에서 생성된 출력은 unpacked 번들 루트에 생성된 `takxconfig.json` 파일을 `--takx-config-file` 옵션의 값으로 제공하여 `create layout`의 입력으로 사용할 수 있습니다.

[`create bundle`](#create-bundle)과 유사하게, 이 명령에서도 레이아웃 생성에 템플릿을 사용하거나 기본적으로 `Blank`로 지정할 수 있습니다. 여러 레이아웃 언어 디렉터리에 레이아웃 추가도 지원되며, 파일이 존재하지 않거나 `--overwrite`가 필요하다는 동일한 규칙도 적용됩니다.

<a id="create-layout-options" />

### 옵션

unpacked 터치 적응 번들에 레이아웃을 생성하는 것을 구성하려면 다음 표의 옵션을 사용하세요.

| 옵션                                       | 설명                                                                                                                                                                                                                                                                     |
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--takx-config-file`<br />`--takxconfig` | 필수. 번들 구성 파일의 경로. `takxconfig.json`으로 이름이 지정되어야 합니다.                                                                                                                                                                                                                   |
| `--name`                                 | 레이아웃의 이름. 이는 파일 이름이기도 합니다.<br />레이아웃은 게임에 가장 잘 맞도록 이름을 지정하는 것이 좋습니다.<br />기본값: 사용된 템플릿의 이름(예: `shooter-basic.json`).                                                                                                                                                   |
| `--languages`                            | 레이아웃을 추가할 IETF 언어 태그 목록. 여기에 전달된 값과 상관없이 레이아웃은 항상 `neutral` 레이아웃 언어 디렉터리에 추가됩니다. 여기에 언어 태그를 지정했지만 루트 레이아웃 디렉터리 아래에 일치하는 디렉터리가 없는 경우 디렉터리가 생성됩니다.<br />기본값: 빈 목록.                                                                                                       |
| `--all-languages`<br />`--all`           | 번들 구성 파일(`takxconfig.json`)에 지정된 루트 레이아웃 디렉터리 아래에서 발견된 모든 언어 하위 디렉터리에 레이아웃을 생성합니다.<br />`--languages`가 지정된 경우 `true`로 설정할 수 없습니다.<br />기본값: `false`                                                                                                                    |
| `--template`                             | 레이아웃에 사용할 템플릿.<br />[사용 가능한 템플릿 목록 보기.](/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-templates)<br />기본값: `Blank`                                                                                                  |
| `--overwrite`                            | 동일한 이름의 기존 레이아웃 파일을 덮어씁니다.<br />루트 레이아웃 디렉터리 아래의 언어 하위 디렉터리에 동일한 이름의 JSON 파일이 있는 경우 필수입니다. 예를 들어, `--name`이 `test`이고 `--languages`가 `en-US`로 설정되었으며, `en-US` 디렉터리에는 `test.json`이라는 파일이 없지만 `neutral`에는 있는 경우, `--overwrite`가 지정되지 않고는 명령이 실행되지 않습니다.<br />기본값: `false` |
| `--set-default`<br />`--default`         | 생성된 레이아웃을 번들 구성 파일(`takxconfig.json`)에서 기본 레이아웃으로 설정합니다.<br />기본값: `false`                                                                                                                                                                                             |

<a id="create-layout-examples" />

### 예제

다음 예제는 기존 unpacked 터치 적응 번들에서 새 레이아웃을 만드는 방법을 보여줍니다.

***

기본 `Blank` 템플릿을 사용하여 간단한 새 레이아웃 만들기.

```
D:\CreateLayoutExamples\SampleBundle> tak create layout --name sample-layout --takxconfig .\takxconfig.json
Verifying bundle configuration file (takxconfig.json).
Verification complete. 0 error(s), 0 warning(s) and 0 note(s) found.
Created layout 'sample-layout' using template 'Blank' in 1 directories.
```

출력:

```
D:.
└───CreateLayoutExample
    └───SampleBundle
        │   context.json
        │   takxconfig.json
        │
        └───layouts
            └───neutral
                    sample-layout.json
```

***

번들의 여러 언어에 대해 특정 템플릿을 사용하여 새 레이아웃 만들기.

```
D:\CreateLayoutExamples> tak create layout --takxconfig .\SampleBundle\takxconfig.json --template ShooterBasic --languages ja-JP en en-US
Verifying bundle configuration file (takxconfig.json).
Verification complete. 0 error(s), 0 warning(s) and 0 note(s) found.
WARNING: A language directory for 'ja-JP' does not exist under the root layouts directory. It will be created, as well as any relevant parenting directories if applicable to the language.
WARNING: A language directory for 'en' does not exist under the root layouts directory. It will be created, as well as any relevant parenting directories if applicable to the language.
WARNING: A language directory for 'en-US' does not exist under the root layouts directory. It will be created, as well as any relevant parenting directories if applicable to the language.
Created layout 'shooter-basic' using template 'ShooterBasic' in 4 directories.
```

출력:

```
D:.
└───CreateLayoutExample
    └───SampleBundle
        │   context.json
        │   takxconfig.json
        │
        └───layouts
            ├───en
            │   │   shooter-basic.json
            │   │
            │   └───en-US
            │           shooter-basic.json
            │
            ├───ja
            │   └───ja-JP
            │           shooter-basic.json
            │
            └───neutral
                    shooter-basic.json
```

<Note>레이아웃은 'en' 디렉터리에는 설정되었지만 'ja' 디렉터리에는 설정되지 않았는데, 이는 '--languages' 매개 변수에 'en' 디렉터리만 지정되었기 때문입니다.</Note>

***

모든 언어에 대한 새 레이아웃 만들기

```
D:\CreateLayoutExamples> tak create layout --takxconfig .\SampleBundle\takxconfig.json --all-languages
Verifying bundle configuration file (takxconfig.json).
Verification complete. 0 error(s), 0 warning(s) and 0 note(s) found.
Created layout 'blank' using template 'Blank' in 5 directories.
```

출력:

```
D:.
└───SampleBundle
    │   context.json
    │   takxconfig.json
    │
    └───layouts
        ├───en
        │   │   blank.json
        │   │   shooter-basic.json
        │   │
        │   └───en-US
        │           blank.json
        │           shooter-basic.json
        │
        ├───ja
        │   │   blank.json
        │   │
        │   └───ja-JP
        │           blank.json
        │           shooter-basic.json
        │
        └───neutral
                blank.json
                shooter-basic.json
```

***

## 참고 항목

[Touch Adaptation Kit 명령줄 도구(tak.exe)](/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line)


## Related topics

- [Touch Adaptation Kit (TAK) 명령줄 도구 참고서](/ko/build/core-features/common/game-streaming/tak-command-line-tool/index.md)
- [2D 플랫포머 터치 컨트롤 레이아웃](/ko/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-platformer.md)
- [드라이빙 터치 컨트롤 레이아웃](/ko/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-driving.md)
- [격투 터치 컨트롤 레이아웃](/ko/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-fighter.md)
- [1인칭 슈터 터치 컨트롤 레이아웃](/ko/build/core-features/common/game-streaming/building-touch-layouts/samples/game-streaming-touch-tak-sample-first-person.md)
