기능 태그

소개

Godot는 기능의 사용 여부를 태그하는 특수 시스템을 갖고 있습니다. 각 기능은 문자열으로 나타나며, 다음과 같은 것을 언급할 수 있습니다:

  • 플랫폼 이름.

  • 플랫폼 구조 (64비트나 32비트, x86이나 ARM).

  • 플랫폼 유형 (데스크톱, 모바일, 웹).

  • 플랫폼에서 지원하는 텍스처 압축 알고리즘.

  • 빌드가 디버그인지 출시인지 여부 (디버그는 편집기가 포함됨).

  • 프로젝트가 편집기에서 실행 중인지 "독립 실행형" 바이너리인지 여부.

  • 더 많은 것들.

기능은 다음과 같이 호출하여 런타임에서 싱글톤 API로 부터 질문(query)을 받을 수 있습니다:

OS.has_feature(name)

기본 기능

다음은 Godot의 대부분의 기능 태그 목록입니다. 이들은 대소문자을 구별합니다:

기능 태그

설명

Android

Android에서 실행 중

HTML5

HTML5에서 실행 중

JavaScript

JavaScript 싱글톤 사용 가능

OSX

macOS에서 실행 중

iOS

iOS에서 실행 중

UWP

UWP에서 실행 중

Windows

Windows에서 실행 중

X11

X11에서 실행 중 (Linux/BSD 데스크톱)

Server

헤드리스 서버 플랫폼에서 실행 중

debug

디버그 빌드에서 실행 중 (편집기를 포함)

release

출시 빌드에서 실행 중

editor

편집기 빌드에서 실행 중

standalone

편집기 없는 빌드에서 실행 중

64

64비트 빌드에서 실행 중 (모든 구조)

32

32빌드에서 실행 중 (모든 구조)

x86_64

64비트에서 x86 빌드를 실행 중

x86

32비트에서 x86 빌드를 실행 중

arm64

64비트에서 ARM 빌드를 실행 중

arm

32비트에서 ARM 빌드를 실행 중

mobile

호스트 OS가 모바일 플랫폼이다

pc

호스트 OS가 PC 플랫폼이다 (데스크톱/랩톱)

web

호스트 OS가 웹 브라우저이다

etc

ETC1 압축을 사용하는 텍스처를 지원한다

etc2

ETC2 압축을 사용하는 텍스처를 지원한다

s3tc

S3TC (DXT/BC) 압축을 사용하는 텍스처를 지원한다

pvrtc

PVRTC 압축을 사용하는 텍스처를 지원한다

맞춤 기능

빌드에 맞춤 기능을 추가할 수 있습니다; 생성하기 위해 내보내기 프리셋에서 관련 필드를 사용하세요:

../../../_images/feature_tags1.png

프로젝트 설정 재정의하기

기능을 사용하여 프로젝트 설정의 특정 구성 값을 재정의할 수 있습니다. 이를 통해 빌드를 작업할 때 모든 구성을 더 잘 커스터마이즈할 수 있습니다.

다음 예제에서, 게임의 데모 빌드를 위해 다른 아이콘이 추가되었습니다 (이것은 특수 내보내기 프리셋에서 커스터마이즈되었으며, 데모 레벨에만 있습니다).

../../../_images/feature_tags2.png

재정의한 후, 지정된 구성을 위한 새로운 영역이 추가됩니다:

../../../_images/feature_tags3.png

참고

When using the project settings "override.cfg" functionality (which is unrelated to feature tags), remember that feature tags still apply. Therefore, make sure to also override the setting with the desired feature tag(s) if you want them to override base project settings on all platforms and configurations.

기본 재정의

기본적으로 재정의를 통해 오는 많은 설정이 있습니다; 프로젝트 설정의 많은 섹션에서 이를 확인할 수 있습니다.

../../../_images/feature_tags4.png

빌드 커스터마이징하기

기능 태그는 맞춤 ExportPlugin을 작성하는 것으로, 빌드 처리를 커스터마이즈하는데 사용할 수도 있습니다. 그리고 GDNative에서 불러오고 내보내는 공유된 라이브러리를 지정하는데에도 사용됩니다.