다음을 통해 공유


명령 만들기

create 명령은 터치 적응 번들(또는 압축 해제된 번들)의 소스 콘텐츠를 생성하거나 기존의 압축 해제된 번들에 새 레이아웃을 추가하는 데 사용됩니다. 게임에 터치 적용을 추가하는 작업을 시작하기 위한 빠른 진입점입니다.

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

하위 명령 설명
bundle 개발을 위해 포장되지 않은 새로운 터치 적응 번들 생성
layout 압축 해제된 기존 터치 적응 번들의 템플릿을 기반으로 새 레이아웃을 만듭니다.

번들 만들기

create bundle 하위 명령은 새로운 터치 적응 번들에 필요한 모든 소스 콘텐츠의 빠른 생성을 제공합니다. 게임에 대한 기존의 개봉된 번들이 존재하지 않는 경우 적응을 터치하는 출발점입니다.

새 번들을 시작하는 데 필요한 모든 디렉터리와 파일을 생성합니다. 여기에는 다양한 언어에 대한 JSON 레이아웃 파일이 포함된 루트 레이아웃 디렉터리, 언어별 다양한 DPI에 대한 자산이 포함된 루트 자산 디렉터리, 번들을 설명하는 루트 번들 구성 파일(takxconfig.json) 및 동적 레이아웃 상태 및 사용 가능한 레이아웃 정의를 위한 빈 컨텍스트 파일이 포함됩니다.

옵션

압축되지 않은 터치 적응 번들 생성을 구성하려면 다음 표의 옵션을 사용하세요.

옵션 설명
--destination
--name
필수. 압축 해제된 번들을 배치할 대상 경로입니다. 간단한 이름 또는 전체 경로일 수 있습니다.
[!참고] 대상에 파일이나 디렉터리가 있으면 --overwrite-destination 옵션을 사용하여 먼저 삭제해야 합니다.
[!참고] 경로 대신 간단한 이름을 사용하면 현재 작업 디렉터리에 생성된 번들이 포함됩니다.
--layouts-directory-name
--layouts-dir
--layouts
터치 컨트롤 레이아웃을 저장할 하위 디렉터리의 이름입니다. 루트 레이아웃 디렉터리입니다.
기본값: layouts.
--assets-directory-name
--assets-dir
--assets
터치 컨트롤 자산을 저장할 하위 디렉터리의 이름입니다. 루트 자산 디렉터리입니다.
기본값: assets.
--layout-languages 루트 레이아웃 디렉터리에서 언어 디렉터리 생성에 사용할 IETF 언어 태그 목록입니다. neutral은(는) 항상 만들어집니다.
기본값: 빈 목록입니다.
--asset-languages 루트 자산 디렉터리에서 언어 디렉터리 생성에 사용할 IETF 언어 태그 목록입니다. neutral은(는) 항상 만들어집니다.
기본값: 빈 목록입니다.
--version 번들에 대한 콘텐츠 버전입니다.
기본값: 1.0.0.0.
--version-name 터치 적응 번들의 콘텐츠 버전 이름입니다.
기본값: 빈 문자열입니다.
--context-file-name
--context-file
--context
번들에 대한 컨텍스트 파일의 이름입니다.
기본값: context.json.
--templates 생성 시 번들에 추가할 하나 이상의 템플릿 레이아웃 목록입니다. 템플릿은 항상 neutral 레이아웃 언어 디렉터리와 --layout-languages에 지정된 언어에 해당하는 모든 언어 디렉터리에 추가됩니다.
사용 가능한 템플릿 목록을 봅니다.
기본값: Blank.
--no-templates 번들에 템플릿을 추가하지 마세요. --templates이 지정된 경우 사용할 수 없습니다.
기본값: false.
--overwrite-destination
--overwrite
대상에서 이전 콘텐츠를 삭제합니다. 대상이 비어 있지 않은 경우 필수입니다.
기본값: false.

예제

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


기본 빈 템플릿으로 압축을 푼 간단한 새 번들을 만듭니다.

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

참고 항목

명령에서 --layout-languages 옵션을 사용하여 'fr' 및 'fr-FR'을 모두 지정하면 템플릿이 각 해당 디렉터리에 추가됩니다. 그러나 'en-US'만 지정되므로 템플릿은 부모 'en' 디렉터리가 아닌 'en-US' 디렉터리에만 추가됩니다. 템플릿은 이러한 사양에 관계없이 중립 디렉터리에 지속적으로 추가됩니다.

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

{
  "$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"
}

레이아웃 만들기

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

create bundle과(와) 마찬가지로 이 명령에서 레이아웃을 만드는 데 템플릿을 사용하거나 기본값이 Blank(으)로 지정될 수 있습니다. 여러 레이아웃 언어 디렉터리에 레이아웃을 추가하는 것도 지원되며 파일이 존재하지 않거나 --overwrite가 필요한 것과 관련된 동일한 규칙도 적용됩니다.

옵션

압축 해제된 터치 적응 번들에서 레이아웃 생성을 구성하려면 다음 표의 옵션을 사용하세요.

옵션 설명
--takx-config-file
--takxconfig
필수. 번들 구성 파일의 경로입니다. 이름은 takxconfig.json이어야 합니다.
--name 레이아웃의 이름입니다. 파일 이름이기도 합니다.
레이아웃은 게임에 가장 적합하므로 이름을 지정하는 것이 좋습니다.
기본값: 사용된 템플릿의 이름(예: shooter-basic.json)입니다.
--languages 레이아웃을 추가해야 하는 IETF 언어 태그 목록입니다. 레이아웃은 여기에 전달된 값에 관계없이 항상 neutral 레이아웃 언어 디렉터리에 추가됩니다. 루트 레이아웃 디렉터리 아래에 일치하는 디렉터리가 없는 동안 여기에 언어 태그가 지정되면 디렉터리가 생성됩니다.
기본값: 빈 목록입니다.
--all-languages
--all
번들 구성 파일(takxconfig.json)에 지정된 루트 레이아웃 디렉터리 아래에 있는 모든 언어 하위 디렉터리에 레이아웃을 생성합니다.
--languages이(가) 지정된 경우 true(으)로 설정할 수 없습니다.
기본값: false
--template 레이아웃에 사용할 템플릿입니다.
사용 가능한 템플릿 목록을 봅니다.
기본값: Blank
--overwrite 이름이 같은 기존 레이아웃 파일을 덮어씁니다.
루트 레이아웃 디렉터리 아래의 언어 하위 디렉터리에 이름이 같은 JSON 파일이 포함된 경우 필수입니다. 예를 들어, --nametest이고 --languagesen-US로 설정되어 있고 en-US 디렉터리에 test.json이라는 파일이 포함되어 있지 않고 neutral에 있는 경우 명령은 --overwrite을(를) 지정하지 않을 경우 실행되지 않습니다.
기본값: false
--set-default
--default
번들 구성 파일(takxconfig.json)에서 기본 레이아웃으로 생성된 레이아웃을 설정합니다.
기본값: false

예제

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


기본 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

참고 항목

레이아웃은 'en' 디렉터리에 설정되었지만 'ja' 디렉터리에는 설정되지 않았습니다. 전자는 '--languages' 매개 변수에 대해 지정된 유일한 레이아웃이므로 이 디렉터리에는 없습니다.


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

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

참고 항목

터치 적응 키트 명령줄 도구(tak.exe)