프로젝트 구조 정보

이 항목에서는 Stingray 프로젝트가 구성되는 방법에 대한 기본적인 내용에 대해 설명합니다.

프로젝트 디렉토리: 소스 및 컴파일된 데이터

새 프로젝트를 생성할 때 Stingray가 디스크에서 지정하는 위치에 있는 프로젝트와 같은 이름으로 폴더를 생성합니다. 이 최고 수준 폴더에는 <projectname>,<projectname>_data<projectname>_wwise 등의 프로젝트 폴더 세트가 포함되어 있습니다.

최고 수준 폴더 안에 있는 <projectname> 폴더를 프로젝트의 소스 폴더로 간주합니다. 이 폴더에는 게임을 빌드하기 위해 작업한 모든 파일 즉, 내보낸 모델, 텍스처, 스크립트 등이 들어 있습니다. 모든 Stingray 도구 및 편집기는 이 소스 디렉토리를 읽고 여기에 씁니다.

두 번째 폴더인 <프로젝트 이름>_data에는 게임의 대상 플랫폼에서 런타임 시 사용되는 최적화된 이진 형식으로 컴파일된 소스 데이터가 포함되어 있습니다. Stingray 편집기에서 작업하는 동안 그리고 Stingray 편집기에서 게임을 실행하는 경우에는 항상 Windows용 컴파일된 데이터가 자동으로 갱신됩니다.

Stingray에서는 세 번째 폴더인 <projectname>_wwise>를 만드는 데, 이 폴더는 Wwise를 사용해 오디오 컨텐츠를 작성하도록 설정되어 있습니다. 오디오 작업을 참조하십시오.

Stingray는 확장자가 stingray_project이고, Stingray 버전, 기본 템플릿, 로드된 수준, Wwise 프로젝트 설정 및 마이그레이션 설정을 비롯한 프로젝트 정보를 포함하고 있는 Stingray 프로젝트 파일도 생성합니다.

다른 사용자와 프로젝트를 공유하려는 경우 또는 Git 또는 SVN과 같은 버전 제어 시스템으로 프로젝트를 체크인하려는 경우 일반적으로 소스 디렉토리와 _wwise 디렉토리만 고려하면 됩니다. 컴파일된 파일은 항상 소스 디렉토리에서 다시 생성되므로 다시 배포하거나 소스 제어 시스템으로 체크인할 필요가 없습니다. 버전 제어 시스템 사용도 참조하십시오.

게임 컨텐츠 구성

Stingray 엔진에는 프로젝트 리소스의 구성 또는 조직에 대한 요구사항이 없습니다. 따라서 소스 디렉토리 내에서 원하는 모든 종류의 폴더 구조로 게임 컨텐츠를 구성할 수 있습니다. 또한 프로젝트에 맞는 모든 리소스 구성 규칙을 자유롭게 따를 수 있습니다.

예를 들어, 모든 텍스처를 한 폴더에, 모든 애니메이션을 다른 한 폴더에, 모든 유닛을 세 번째 폴더에 배치하는 것과 같이 리소스 유형별로 프로젝트를 구성하도록 선택할 수 있습니다. 또는 소스 데이터를 게임 오브젝트별로 정리하도록 선택할 수 있습니다. 따라서 특정 캐릭터, 차량 또는 건물과 관련된 모든 항목(예: 유닛, 텍스처, 애니메이션, 스크립트 등)을 동일한 폴더에 보관할 수 있습니다. 또는 데이터를 수준별로 정리할 수 있으며 사용자가 원하는 대로 선택할 수 있습니다.

이후에 리소스를 패키지 즉, 함께 저장, 로드 및 언로드되는 데이터 모음으로 묶습니다. 소스 폴더의 리소스 파일 레이아웃과 상관 없이 패키지로 묶을 수 있습니다. 자세한 내용은 컨텐츠 및 리소스 관리를 참조하십시오.

유일한 요구사항으로, 프로젝트 디렉토리의 루트에는 게임을 시작하기 위해 게임에 필요한 기본 정보 일부를 제공하는 settings.ini 파일이 반드시 포함되어 있어야 합니다. 자세한 내용은 아래를 참조하십시오.

그러나 편집 도구 및 자산 가져오기 프로세스에서 프로젝트 폴더 내의 특정 기본 위치를 사용할 수 있습니다. 예를 들어, 기본적으로 Wwise 오디오 리소스는 Wwise 하위 폴더에 저장됩니다. 마찬가지로, Scaleform Studio 프로젝트는 기본적으로 s2d_projects 하위 폴더에 저장됩니다.

프로젝트 소스 디렉토리의 기본 구조

Stingray 템플릿을 기반으로 새 프로젝트를 시작할 때 contentscript라는 사용자를 위해 생성된 하위 디렉토리 2개로 시작하게 됩니다.

Content 디렉토리

content 디렉토리 내에는 다음 그림과 같이 아트, 텍스처, 수준 등을 비롯하여 템플릿에서 사용되는 모든 컨텐츠를 저장하기 위한 하위 폴더가 보입니다.

Stingray에서 사용하는 파일 또는 "리소스"의 종류에 대한 자세한 내용은 리소스 정보를 참조하십시오.

스크립트 디렉토리

스크립트 폴더는 프로젝트의 게임플레이를 생성하기 위해 작성한 모든 사용자 정의 스크립트와 흐름 노드를 저장할 수 있는 편리한 장소입니다.

Stingray에서 게임플레이에 Lua 스크립트를 사용하는 방법에 대한 자세한 내용은 Lua를 사용한 스크립팅을 참조하십시오.

프로젝트 소스 디렉토리 내의 파일

각 프로젝트 소스 파일에는 EditorSettings.config, boot.package, global.physics_propertiessettings.ini 파일이 포함되어 있습니다.

boot.package

확장자가 .package인 리소스 파일로, 게임의 최종 빌드에 함께 저장, 로드 및 언로드되는 관련 리소스 모음인 리소스 패키지를 지정합니다.

Stingray에서 제공하는 템플릿을 기반으로 새 프로젝트를 시작하는 경우 프로젝트는 시작 시 이 boot.package 파일을 로드하도록 settings.ini 파일에서 사전 설정됩니다. 이 패키지 파일은 프로젝트를 실행 또는 배포할 때 엔진으로 로드할 프로젝트의 리소스를 결정합니다.

기본적으로 이 패키지에는 프로젝트에 있는 모든 리소스가 포함됩니다. 프로젝트에 컨텐츠를 추가할 때 부팅 패키지에 이 새 컨텐츠도 포함되도록 해야 합니다. 패키지 파일에 항목을 추가하는 방법에 대한 자세한 내용은 리소스 패키지 정의를 참조하십시오.

결과적으로 게임 컨텐츠를 여러 패키지로 분리하여 원하는 대로 로드 및 언로드할 수 있습니다. 자세한 내용은 컨텐츠 및 리소스 관리를 참조하십시오.

EditorSettings.config

이 파일은 Stingray 편집기에서 프로젝트를 편집하는 동안 설정한 사용자 정의 구성 설정을 기록합니다.

global.physics_properties

이 파일은 물리적 하위 시스템에 대한 전역 구성 설정을 제공합니다. 자세한 내용은 전역 물리적 특성을 참조하십시오.

settings.ini

이 파일은 엔진의 작동을 제어하며 사용자가 편집할 수 있는 다양한 설정(예: 렌더링 설정 또는 시작 패키지)을 제공합니다. 이 파일은 항상 게임 프로젝트의 루트에 저장해야 합니다.

이 파일에서 제공할 수 있는 모든 설정에 대한 자세한 내용은 Stingray 엔진 settings.ini 파일 참조를 참조하십시오.

project.settings

이 파일은 Stingray 이전 버전의 프로젝트를 마이그레이션할 때 생성되고, 여기에는 마이그레이션된 프로젝트의 프로젝트 설정이 기록됩니다.