씬 파일
새 씬에서 생성되는 기본 파일.
이후 새 장면을 생성하면, 장면 폴더에는 기본 내용이 포함된 여러 파일이 생성됩니다.
장면의 기본 파일
장면에는 다음 파일이 포함됩니다:
src/index.ts: 장면의 진입점입니다.
scene.json: 장면의 메타데이터가 포함된 매니페스트입니다.
package.json 과 package-lock.json: 장면의 모든 종속성 버전을 지정합니다.
tsconfig.json: TypeScript 구성 파일입니다.
.dclignore: 장면을 게시할 때 업로드되지 않을 프로젝트 파일을 나열합니다.
assets/scene/main.composite: Creator Hub의 Scene Editor에서 시각적으로 추가하고 구성한 모든 내용을 포함하는 자동 생성 파일입니다. 사람이 읽을 수 있는 형식은 아닙니다. 이는 다음의 한 예입니다. 컴포지트, 엔터티와 컴포넌트의 트리를 설명하는 파일입니다. CLI로 생성된 장면에는 대신
main.crdt파일이 루트 수준에 포함됩니다.
index.ts
이 파일은 장면의 사용자 정의 코드 진입점입니다. 전체 장면 로직을 이 파일에 모두 넣을 수도 있지만, 명확성을 위해 대부분의 경우 코드를 다른 여러 .ts 파일에 나누어 두는 것을 권장합니다.
Scene Editor와 스마트 아이템만 사용한다면 이 파일을 수정할 필요가 없습니다.
사용자 정의 코드를 작성할 계획이라면, 장면을 만들기 위해 이 파일과 다른 .ts 파일만 수정하면 되는 경우가 대부분입니다. 여기에는 다음을 생성하는 코드가 들어 있습니다: 엔터티, 컴포넌트 과 시스템 를 생성하는 코드입니다.
장면을 실행할 때, 다음 파일의 내용은 .ts 파일은 하나의 .js 파일로 컴파일됩니다, bin/index.js. 프로덕션용으로 빌드할 때 이 파일은 축소(minify)되기도 합니다.
scene.json
이 scene.json 파일은 월드의 장면에 대한 JSON 형식의 매니페스트입니다. 장면은 하나의 LAND 구획 또는 여러 LAND 구획에 걸칠 수 있습니다. 이 scene.json 매니페스트에는 장면에 어떤 객체가 있는지, 렌더링에 필요한 자산 목록, 구획 소유자의 연락처 정보, 보안 설정이 설명되어 있습니다.
다음의 대부분의 필드는 scene.json 파일은 Scene Editor의 UI에서 직접 편집할 수 있습니다. 자세한 내용은 씬 설정.

자세한 내용은 씬 메타데이터.
이 메타데이터는 장면을 로컬에서 미리 보는 데는 모두 선택 사항이지만, 일부는 배포할 때 필요합니다. 이 정보는 언제든지 수동으로 변경할 수 있습니다.
package.json
이 파일은 NPM이 프로젝트를 식별하고 프로젝트의 종속성을 처리할 수 있도록 정보를 제공합니다. Decentraland 장면에는 하나의 मुख्य 패키지가 필요합니다:
@dcl/sdk: Decentraland SDK의 기본 종속성으로, 엔진, 컴포넌트, 시스템 등의 정의와 타입을 포함합니다.
@dcl/js-runtime: @dcl/sdk 통합을 더 원활하게 해주는 일련의 타입 선언입니다.
장면에는 다른 패키지가 얼마든지 포함될 수 있습니다. 예를 들어 다음을 포함하려면 라이브러리 코드 작성을 더 쉽게 하거나 특별한 기능을 가능하게 해줍니다.
package-lock.json
이 파일은 프로젝트의 다른 모든 종속성 버전을 나열합니다. 이 버전들은 고정되어 있으며, 즉 컴파일러가 여기에 나열된 정확히 동일한 마이너 릴리스를 사용합니다.
이 파일을 편집하여 모든 패키지 버전을 수동으로 변경할 수 있습니다.
tsconfig.json
다음을 포함하는 디렉터리는 tsconfig.json 파일이 TypeScript 프로젝트의 루트 디렉터리입니다. tsconfig.json 파일은 프로젝트를 TypeScript에서 JavaScript로 컴파일하는 데 필요한 루트 파일과 옵션을 지정합니다.
장면에 추가 라이브러리를 설치하면 이 파일에 항목이 자동으로 추가되어야 합니다. Decentraland 유틸 라이브러리를 설치할 때는 이 파일을 수동으로 변경할 필요가 없습니다.
권장 파일 위치
장면을 Decentraland에 배포할 때 장면을 사용하는 데 필요한 모든 자산이나 외부 라이브러리는 장면 폴더 안에 패키징되어 있거나 원격 서버를 통해 제공되어야 한다는 점을 기억하세요.
플레이어 클라이언트에서 실행되도록 된 것은 무엇이든 장면 폴더 안에 있어야 합니다. 로컬 머신의 다른 위치에 설치된 파일이나 라이브러리를 참조해서는 안 됩니다. 배포된 장면에서 사용할 수 없기 때문입니다.
장면에 필요할 수 있는 다양한 유형의 자산을 저장할 때는 다음 폴더 이름을 일관되게 사용하는 것을 권장합니다:
3D 모델:
assets/scene/models비디오:
assets/scene/videos오디오 파일:
assets/scene/sounds텍스처용 이미지 파일(glTF 모델 제외):
assets/scene/materials.ts 컴포넌트 정의
/src/components.ts 시스템 정의
/src/systems
Scene Editor를 통해 자산을 가져오면 자동으로 다음 위치 안에 추가됩니다: assets/scene 폴더에 추가됩니다. Scene Editor의 Asset Packs에 있는 기본 자산을 사용할 때는 해당 파일이 다음 위치에 추가됩니다: assets/builder 폴더입니다.
dclignore 파일
모든 장면에는 .dclignore 파일이 포함되어 있으며, 이 파일은 장면을 Decentraland에 배포할 때 장면 폴더에서 어떤 파일을 무시할지 지정합니다.
예를 들어 장면의 3D 모델용 Blender 파일을 장면 폴더 안에 보관하되, 해당 파일이 Decentraland에 배포되는 것은 막고 싶을 수 있습니다. 그런 경우 다음을 추가할 수 있습니다: *.blend 를 .dclignore 해당 확장자를 가진 모든 파일을 무시하려면
특정 파일
BACKUP.ts
특정 파일을 무시합니다
폴더
drafts/
폴더와 그 하위 폴더의 전체 내용을 무시합니다
확장자
*.blend
지정된 확장자를 가진 모든 파일을 무시합니다
이름 섹션
test*
쿼리와 일치하는 이름의 모든 파일을 무시합니다. 이 경우, 다음으로 시작하는 test
마지막 업데이트