대부분의 Stingray 리소스 파일은 널리 사용되는 JSON 표준을 기반으로 하며 데이터를 좀 더 쉽게 읽고, 편집하고, 관리하기 위한 몇 가지 사용자 정의 확장 및 간소화 기능이 포함된 텍스트 기반 형식으로 데이터를 표현합니다. 일반적으로 이 형식을 간소화된 JSON인 SJSON이라고 합니다.
Stingray 편집 도구에서 많은 유형의 리소스 파일을 자동으로 생성하고 최신 상태로 유지하지만 수동으로 수정해야 하는 몇 가지 종류의 데이터 파일이 있습니다. 예를 들어, 게임에서 사용되는 물리적 시뮬레이션에 필요한 여러 유형의 충돌 재질을 설정하기 위해서는 프로젝트의 global.physics_properties 파일에서 직접 변경해야 합니다.
게임의 settings.ini 파일에서 추출한 다음 예는 SJSON의 작은 부분이 어떤 모양인지 보여줍니다.
// The script that should be started when the application runs. boot_script = "boot" // The port on which the console server runs. console_port = 14030 // Settings for the win32 platform win32 = { /* Sets the affinity mask for QueryPerformanceCounter() */ query_performance_counter_affinity_mask = 0 } render_config = "core/rendering/renderer"
좀 더 많은 예를 보려면 프로젝트의 settings.ini, .physics_properties 또는 .shading_environment 파일을 참조할 수 있습니다.
참고: Script Editor를 사용하여 프로젝트에서 Stingray 데이터 리소스 파일을 열고 편집할 수 있습니다.
SJSON 형식은 표준 JSON과 다음과 같인 차이가 있습니다.
주석이 허용되며 다음과 같이 C 및 C++ 주석 작성 스타일을 사용합니다.
각 SJSON 파일은 항상 단일 오브젝트에 대한 정의로 해석됩니다. 이 파일은 파일의 내용을 둘러싼 대괄호 { ... }의 암시적 세트로 생각할 수 있습니다.
이러한 유연성이 더해졌음에도 불구하고 SJSON 파서는 기본 JSON과 호환됩니다. 일반 JSON 파일을 SJSON 파서에 대한 입력으로 사용할 수 있습니다. 즉, Stingray에서 사용하는 데이터를 생성하기 위한 사용자 정의 도구를 작성하려는 경우 표준 JSON을 내보낼 수 있습니다.
다음을 비롯하여 여러 유형의 데이터 파일에서 SJSON을 사용하지 않습니다.