Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

기능의 목록

이 페이지의 목표는 현재 Godot가 지원하는 모든 기능을 나열하는 것입니다.

참고

이 페이지는 현재 안정 버전 Godot가 지원하는 기능들을 나열하고 있습니다. 몇몇 기능은 3.x 릴리스 시리즈에서 작동하지 않을 수 있습니다.

플랫폼

더 보기

하드웨어 및 소프트웨어 버전 요구 사항은 시스템 요구 사항을 참고하세요.

참고

콘솔 지원에 대한 정보는 Godot 웹사이트를 참조하세요.

편집기와 내보낸 프로젝트를 모두 실행할 수 있는 플랫폼:

  • Windows (x86 및 ARM, 64비트 및 32비트).

  • macOS (x86 및 ARM, 64비트 전용).

  • Linux (x86 및 ARM, 64비트 및 32비트).

    • 바이너리는 정적으로 연결되어 있어서 아주 오래된 기본 배포판에서 컴파일 된 경우라도 모든 배포판에서 실행할 수 있습니다.

    • 공식 바이너리는 Godot 엔진 buildroot를 사용하여 컴파일되며 이를 통해 (LTS를 포함한) 일반적인 Linux 배포판에서 바이너리가 동작할 수 있게 됩니다.

  • Android (편집기 지원은 실험적입니다).

  • 웹 브라우저. 4.0에서는 실험적이며, HTML5을 목표로 개발한다면 Godot 3.x를 추천드립니다.

참고

Linux는 rv64(RISC-V), ppc64 & ppc32(PowerPC), 그리고 loongarch64를 지원합니다. 하지만 해당 플랫폼에 맞게 편집기를 직접 컴파일하고 템플릿도 내보내야 합니다. 현재 공식 다운로드는 제공되지 않습니다. RISC-V 컴파일 지침은 iOS로 내보내기 페이지에서 확인할 수 있습니다.

내보낸 프로젝트를 실행할 수 있는 플랫폼:

  • iOS.

Godot는 가능한 한 플랫폼 독립적이고 비교적 쉽게 새로운 플랫폼으로 이식할 수 있는 것을 목표로 합니다.

참고

Godot 4에서 C#으로 작성된 프로젝트는 현재 웹으로 내보낼 수 없습니다. 해당 플랫폼에서 C#을 사용하시려면 Godot 3를 사용하는 것을 추천드립니다. Android와 iOS 플랫폼은 Godot 4.2에서 내보낼 수 있지만, 이는 실험적이며 일부 제한이 적용될 수 있습니다.

편집기

기능:

  • 씬 트리 편집기.

  • 내장 스크립트 편집기.

  • Visual Studio Code나 Vim과 같은 외부 스크립트 편집기 지원.

  • GDScript 디버거.

    • 스레드 디버깅은 4.2부터 지원됩니다.

  • 렌더링 파이프라인의 각 단계에 대한 CPU 및 GPU 시간 표시를 포함하는 시각적 프로파일러.

  • 사용자 지정 퍼포먼스 모니터를 포함한 퍼포먼스 모니터링 도구.

  • 실시간 스크립트 리로딩.

  • 실시간 씬 편집.

    • 변경사항은 편집기에 반영되며 실행 중인 프로젝트를 닫은 후에도 유지됩니다.

  • 원격 인스펙터.

    • 변경사항은 편집기에 반영되지 않으며 실행 중인 프로젝트를 닫은 후에는 유지되지 않습니다.

  • 실시간 카메라 복제.

    • 편집기 내 카메라를 움직여 실행 중인 프로젝트에서 결과를 봅니다.

  • 내장 오프라인 클래스 참조 문서.

  • 커뮤니티에서 기여한 수십 가지 언어로 편집기를 사용하세요.

플러그인:

렌더링

Godot 4에는 세 가지 렌더러가 포함되어 있습니다:

  • Forward+. 데스크톱 플랫폼에만 적합한 가장 고급 렌더러입니다. 데스크톱 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 Vulkan, Direct3D 12, 또는 Metal을 렌더링 드라이버로 사용하며, RenderingDevice 백엔드를 사용합니다.

  • 모바일. 기능은 적지만 단순한 씬을 더 빠르게 렌더링합니다. 모바일 및 데스크톱 플랫폼에 적합합니다. 모바일 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 Vulkan, Direct3D 12, 또는 Metal을 렌더링 드라이버로 사용하며, RenderingDevice 백엔드를 사용합니다.

  • 호환성, 때때로 GL 호환성이라고도 불립니다. 가장 덜 발전된 렌더러로, 저사양 데스크톱 및 모바일 플랫폼에 적합합니다. 웹 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 OpenGL을 렌더링 드라이버로 사용합니다.

렌더링 메서드의 자세한 비교는 렌더러의 개요를 참조하세요.

2D 그래픽

  • 스프라이트, 폴리곤 및 직선 렌더링.

    • Polygon2DLine2D 같은 직선이나 폴리곤을 그리는 고수준 툴. 텍스처링도 지원합니다.

  • 애니메이션 스프라이트 제작 도우미 AnimatedSprite2D.

  • 패럴랙스 레이어.

    • 편집기의 미리보기를 포함한 Pseudo-3D 지원.

  • 노멀 맵과 스페큘러 맵을 이용한 2D 조명.

    • 점 (전방향/스포트) 및 방향성 2D 조명.

    • 딱딱하거나 부드러운 그림자 (조명 단위로 조정 가능).

    • 사용자 지정 셰이더는 LightOccluder2D 노드를 기반으로 2D 씬의 실시간 SDF 표현에 접근할 수 있으며, 이를 통해 2D 글로벌 일루미네이션을 포함한 향상된 2D 조명 효과를 구현할 수 있습니다.

  • 비트맵, FreeType의 래스터화, 또는 멀티채널 부호화 디스턴스 필드(MSDF; Multi-channel Signed Distance Fields)를 사용한 글꼴 렌더링.

    • 비트맵 글꼴은 BMFont와 같은 툴로 내보내거나 이미지 파일을 통해 불러올 수 있습니다 (고정폭 글꼴 전용).

    • 다이나믹 글꼴은 흑백 글꼴 뿐만 아니라 색상 글꼴 역시 지원합니다 (이모지 등). TTF, OTF, WOFF1, WOFF2 형식을 지원합니다.

    • 다이나믹 글꼴은 선택적 글꼴 윤곽선의 두께와 색상 조정을 지원합니다.

    • 다이나믹 글꼴은 가변 글꼴, 합자 기능을 포함한 OpenType 기능들을 지원합니다.

    • 다이나믹 글꼴은 글꼴 파일에 상관없이 굵게와 기울임을 지원합니다.

    • 다이나믹 글꼴은 더 높은 해상도에서도 글꼴이 선명하게 보이도록 오버샘플링을 지원합니다.

    • 다이나믹 글꼴은 글씨를 작은 크기에서 선명하게 보이게 하기 위해 서브픽셀 포지셔닝을 지원합니다.

    • 다이나믹 글꼴은 글씨를 작은 크기에서 더욱 더 선명하게 보이게 하기 위해 LCD 서브픽셀 포지셔닝을 지원합니다.

    • 부호화 디스턴스 필드(SDF; Signed Distance Field) 글꼴은 재래스터화 없이도 모든 해상도로 스케일 조정이 가능합니다. 다중 채널 SDF는 단색 SDF 글꼴에 비해 SDF 글꼴을 작은 크기로 더 잘 축소할 수 있게 합니다.

  • Oversampling for SVG images using the DPITexture import type. This allows for sharper results when scaling up the texture by re-rasterizing the SVG source image to a new resolution at run-time.

    • Oversampling can optionally take individual CanvasItem scales into account for crisper rendering when scaling nodes.

  • 커스텀 입자 셰이더를 지원하는 GPU 기반 입자.

  • CPU 기반 입자.

  • 향상된 글로우 능력을 위한 선택적 2D HDR 렌더링.

2D 툴

  • 타일맵을 통한 2D 타일 기반 레벨 디자인.

  • 내장 스무딩과 드래그 여백으로 된 2D 카메라.

  • 2D 공간에서의 경로를 나타내는 Path2D 노드.

    • 편집기에서 그리거나 절차적으로 생성할 수 있습니다.

    • 노드가 Path2D 경로를 따라가도록 하는 PathFollow2D 노드.

  • 2D 지오메트리 도우미 클래스.

2D 물리

물리 바디:

  • 정적 바디.

  • 애니메이터블 바디 (스크립트나 애니메이션으로만 움직이는 문과 플랫폼과 같은 오브젝트).

  • 리지드 바디.

  • 캐릭터 바디.

  • 조인트.

  • 물체가 들어오거나 나가는 것을 감지하는 영역.

콜리전 감지:

  • 내장 모양: 선, 상자, 원, 캡슐, 세계 경계 (무한 평면).

  • 콜리전 폴리곤 (편집기에서 직접 그리거나 스프라이트로부터 생성될 수 있음).

3D 그래픽

  • sRGB를 사용한 HDR 렌더링.

  • 원근, 직교 및 절두체 오프셋 카메라.

  • Forward+ 렌더러를 사용할 때 깊이 프리패스가 사용되어 복잡한 씬에서 오버드로 비용을 줄여 성능을 향상시킬 수 있습니다.

  • Forward+ 및 모바일 렌더러에서 지원되는 GPU에서 가변 비율 셰이딩을 사용합니다.

물리 기반 렌더링 (내장 머티리얼 기능):

  • 디즈니 PBR 모델을 따릅니다.

  • Burley, Lambert, Lambert Wrap (half-Lambert) 및 Toon Diffuse 셰이딩 모드 지원.

  • Schlick-GGX, Toon, Disabled 스페큘러 셰이딩 모드 지원.

  • ORM 텍스처를 지원하는 거칠기-메탈릭 워크플로를 사용합니다.

  • 호라이즌 스페큘러 오클루전(필라멘트 모델)을 사용하여 머티리얼 외관을 개선합니다.

  • 노멀 매핑.

  • 거리 기반 자동 LOD를 포함한 패럴랙스 매핑/릴리프 매핑.

  • 알베도 및 노멀 맵에 대한 디테일 매핑.

  • 서브서피스 산란 및 투과율.

  • 머티리얼 거칠기를 지원하는 화면공간 반사 (흐릿한 반사).

  • 근접 페이드(부드러운 입자)와 거리 페이드.

  • 거리 페이드는 투명 파이프라인을 거치지 않기 위해 알파 블렌딩이나 디더링을 사용할 수 있습니다.

  • 디더링은 픽셀이나 오브젝트 별로 결정할 수 있습니다.

실시간 조명:

  • 방향성 조명 (태양 또는 달). 씬에 최대 4개까지 가능.

  • 전방위 조명.

  • 원뿔 각과 감쇠를 조정할 수 있는 스포트 라이트.

  • 반사, 간접광, 볼류메트릭 안개 강도는 조명마다 조절할 수 있습니다.

  • 가짜 영역 조명을 위한 조절 가능한 조명 "크기" (그림자도 더 흐려짐).

  • 성능을 향상시키기 위해 먼 거리의 조명과 그림자를 점차적으로 사라지게 하는 선택적 거리 페이드 시스템.

  • Forward+ 백엔드(데스크톱에서 디폴트)를 사용할 때, 조명의 개별 비용을 줄이기 위해 클러스터형 전방 최적화 기법을 사용하여 렌더링합니다. 클러스터형 렌더링은 한 메시에 사용할 수 있는 조명의 최대 수 제한도 제거합니다.

  • 모바일 렌더러를 사용하는 경우, 메시 리소스당 최대 8개의 전방향 조명과 8개의 스포트 조명이 표시될 수 있습니다. 필요한 경우 구운 조명을 사용하여 이러한 한계를 극복할 수 있습니다.

그림자 매핑:

  • DirectionalLight: 직교 (가장 빠름), PSSM 2-split 및 4-split. 스플릿 간 블렌딩을 지원합니다.

  • OmniLight: 쌍포물선 (빠름) 또는 큐브맵 (느리지만 더 정확). 색이 있는 프로젝터 텍스처를 파노라마의 형태로 지원합니다.

  • SpotLight: 단일 텍스처. 색이 있는 투영 텍스처에 대응.

  • 그림자 노멀 오프셋 바이어스와 그림자 팬케이킹을 통해 그림자 아티팩트와 피터 팬 현상을 줄입니다.

  • PCSS와 유사한 그림자 흐림 효과는 조명의 크기와 그림자가 드리워진 표면과의 거리를 기반으로 합니다.

  • 조명 단위로 조정할 수 있는 그림자 블러 효과.

간접 조명을 통한 글로벌 일루미네이션:

  • 구워진 라이트맵 (빠르지만, 런타임 중에 업데이트할 수 없음).

    • 간접 조명만 굽기나 직접 및 간접 조명을 모두 굽기를 지원합니다. 굽기 모드는 하이브리드 조명 베이킹 설정을 허용하도록 조명별로 조정할 수 있습니다.

    • 자동 및 수동으로 배치된 프로브를 사용하여 동적 오브젝트에 라이팅을 지원합니다.

    • 선택적으로 구형 고조파를 기반으로 한 방향성 라이팅 및 거친 반사를 지원합니다.

    • 라이트맵은 GPU에서 컴퓨트 셰이더를 사용하여 구워집니다 (CPU 라이트매핑에 비해 훨씬 빠릅니다). 굽기는 편집기에서만 수행할 수 있으며, 내보낸 프로젝트에서는 수행할 수 없습니다.

    • JNLM을 사용한 GPU 기반의 디노이징이나 OIDN을 사용한 CPU/GPU 기반의 디노이징을 지원합니다.

  • 복셀 기반 GI 프로브. 동적 조명 동적 오클루더를 지원하며, 반사도 지원합니다. 빠른 굽기 단계가 필요하며, 이는 편집기나 실행 중(내보낸 프로젝트 포함)에 수행할 수 있습니다.

  • 부호화 디스턴스 필드 GI는 대규모 오픈 월드를 위해 설계되었습니다. 동적 조명과 반사를 지원하지만, 동적 차광체는 지원하지 않습니다. 굽기가 필요하지 않습니다.

  • Screen-space indirect lighting (SSIL)은 절반이나 전체 해상도로 지원됩니다. 완전 실시간으로 동작하며, 모든 종류의 발광 라이팅(데칼 포함)을 지원합니다.

  • VoxelGI와 SDFGI는 성능 향상을 위해 GI를 절반 해상도로 렌더링할 수 있도록 지연 패스를 사용합니다 (기능적인 MSAA 지원은 유지됩니다).

반사:

  • 복셀 기반 반사(GI 프로브 사용 시)와 SDF 기반 반사(부호화 디스턴스 필드 GI 사용 시). 복셀 기반 반사는 투명한 표면에서 보이는 반면, 거친 SDF 기반 반사는 불투명한 표면에서 보입니다.

  • 빠르게 구워진 반사 또는 ReflectionProbe를 이용한 느린 실시간 반사. 시차 보정을 선택적으로 활성화할 수 있습니다.

  • 머티리얼 거칠기를 지원하는 화면 공간 반사.

  • 반사 기술은 더 높은 정확도를 위해 혼합해서 사용할 수 있습니다.

  • Forward+ 백엔드(데스크톱에서 디폴트)를 사용할 때, 반사 프로브는 개별 비용을 줄이기 위해 클러스터형 전방 최적화로 렌더링됩니다. 클러스터형 렌더링은 메시에 사용할 수 있는 반사 프로브의 수에 대한 제한도 제거합니다.

  • 모바일 렌더러를 사용하는 경우, 메시 리소스당 최대 8개의 반사 프로브가 표시될 수 있습니다. 호환성 렌더러를 사용하는 경우, 메시 리소스당 최대 2개의 반사 프로브가 표시될 수 있습니다.

데칼:

  • 알베도, 발광, ORM 및 노멀 매핑을 지원합니다.

  • 텍스처 채널은 기본 머티리얼 위에 부드럽게 오버레이되며, 노멀/ORM 전용 데칼도 지원합니다.

  • 입사각에 따라 데칼을 점차적으로 사라지게 하는 노멀 페이드 지원.

  • 런타임 메시 생성에 의존하지 않습니다. 즉, 데칼이 매 프레임마다 움직이더라도 복잡한 스킨 메시에 성능 저하 없이 데칼을 사용할 수 있습니다.

  • nearest, bilinear, trilinear, anisotropic 텍스처 필터링을 지원합니다 (전역적으로 구성 가능).

  • 성능을 향상시키기 위해 먼 거리의 데칼을 점차적으로 사라지게 하는 선택적 거리 페이드 시스템.

  • Forward+ 렌더러(데스크톱에서 디폴트)를 사용할 때 데칼은 클러스터형 포워드 최적화로 렌더링되어 개별 비용을 줄입니다. 클러스터형 렌더링은 또한 메시에서 사용할 수 있는 데칼 수에 대한 제한을 해제합니다.

  • 모바일 렌더러를 사용하는 경우, 메시 리소스당 최대 8개의 데칼이 표시될 수 있습니다.

하늘:

  • 파노라마 하늘(HDRI 사용).

  • 씬의 방향성 조명에 반응하는 절차적 하늘과 물리 기반 하늘.

  • 애니메이션이 가능한 사용자 지정 하늘 셰이더에 대한 지원.

  • 선택한 품질 설정에 따라 환경광 및 스페큘러 조명에 사용되는 복사 맵이 실시간으로 업데이트될 수 있습니다.

안개:

  • 지수형 깊이 안개.

  • 지수형 높이 안개.

  • 하늘색에 따라 자동 안개 색상을 조정하는 기능을 지원합니다 (대기 관점).

  • 안개에서 태양 산란 효과를 지원합니다.

  • 전통적인 안개와 볼륨 안개에 대해 별도의 제어를 통해 안개 렌더링이 하늘에 미치는 영향을 조절할 수 있습니다.

  • 특정 머티리얼이 안개 효과를 무시하도록 설정할 수 있는 기능을 지원합니다.

볼륨 안개:

  • 조명과 그림자에 반응하는 전역 볼륨 안개.

  • VoxelGI 또는 SDFGI를 사용할 때 볼륨 안개는 간접 조명을 고려할 수 있습니다.

  • 특정 영역에 안개를 추가하거나 제거할 수 있는 안개 볼륨 노드. 지원되는 형태로는 상자, 타원, 원뿔, 원통, 3D 텍스처 기반 밀도 맵이 있습니다.

  • 각 안개 볼륨에는 고유한 사용자 지정 셰이더를 가질 수 있습니다.

  • 전통적인 안개와 함께 사용할 수 있습니다.

입자:

  • 하위방출기(2D + 3D), 트레일(2D + 3D), 어트랙터(3D 전용) 및 콜리전(2D + 3D)을 지원하는 GPU 기반 입자.

    • 지원되는 3D 입자 어트랙터 모양: 상자, 구체와 3D 벡터 필드.

    • 지원되는 3D 입자 콜리전 모양: 상자, 구체, 구워진 부호화 디스턴스 필드 및 실시간 높이맵 (오픈 월드 날씨 효과에 적합).

    • 2D 입자 콜리전은 씬의 LightOccluder2D 노드를 기반으로 실시간으로 생성된 부호화 디스턴스 필드를 사용하여 처리됩니다.

    • 트레일은 내장 리본 트레일과 튜브 트레일 메시를 사용하거나, 스켈레톤이 있는 사용자 지정 메시를 사용할 수 있습니다.

    • 수동 방출로 사용자 지정 입자 셰이더를 지원합니다.

  • CPU 기반 입자.

후처리:

  • 톤 매핑 (선형, Reinhard, Filmic, ACES, AgX).

  • 뷰포트의 밝기에 따라 자동 노출을 조정하는 기능을 지원합니다(수동으로 노출을 오버라이드하는 것도 가능).

  • 조절 가능한 보케 시뮬레이션(상자, 육각형, 원)이 포함된 근거리 및 원거리 피사계 심도.

  • 절반 또는 전체 해상도의 스크린 스페이스 앰비언트 오클루전(SSAO).

  • 선택적 바이큐빅 업스케일링 및 각종 블렌딩 모드(Screen, Soft Light, Add, Replace, Mix)를 사용하는 글로우/블룸 효과.

  • 글로우에는 렌즈 먼지 효과처럼 작용하는 컬러 더트 맵 텍스처를 사용할 수 있습니다.

  • 글로우는 스크린 공간 블러 효과로 사용할 수 있습니다.

  • 1차원 램프 또는 3D LUT 텍스처를 사용하는 색 교정.

  • 스페큘러 에일리어싱의 영향을 줄이기 위한 거칠기 리미터.

  • 밝기, 대비 및 채도 조정.

텍스처 필터링:

  • 근접, 이중선형, 삼중선형 또는 비등방성 필터링.

  • 필터링 옵션은 텍스처 기준이 아닌 사용별 기준로 정의됩니다.

텍스처 압축:

  • Basis Universal (느리지만 더 작은 파일 크기를 제공합니다).

  • 고품질 압축을 위한 BPTC (macOS에서는 지원하지 않음).

  • ETC2 (macOS에서는 지원하지 않음).

  • S3TC (모바일/웹 플랫폼은 지원하지 않음).

안티앨리어싱:

  • 시간적 안티앨리어싱 (TAA).

  • AMD FidelityFX Super Resolution 2.2 안티앨리어싱 (FSR2), 고품질 시간적 안티앨리어싱 형태로 네이티브 해상도에서 사용할 수 있습니다.

  • 멀티 샘플 안티앨리어싱(MSAA), 2D 안티앨리어싱3D 안티앨리어싱 모두에 사용됩니다.

  • 고속 근사 안티앨리어싱 (FXAA).

  • 1.0 이상의 3D 해상도 스케일과 양선형 3D 스케일링을 사용하는 슈퍼 샘플 안티앨리어싱(SSAA).

  • 알파 안티앨리어싱, MSAA 알파 투 커버리지 및 알파 해싱을 재질별로 지원합니다.

해상도 스케일링:

  • 2D 렌더링을 원래 스케일을 유지하면서 낮은 해상도로 3D 렌더링하는 기능을 지원합니다. 이는 저사양 시스템에서 성능을 향상시키거나 고사양 시스템에서 시각적 품질을 개선하는 데 사용할 수 있습니다.

  • 해상도 스케일링은 양선형 필터링, AMD FidelityFX Super Resolution 1.0 (FSR1) 또는 AMD FidelityFX Super Resolution 2.2 (FSR2)를 사용합니다.

  • 텍스처 밉맵 LOD 바이어스는 자동으로 조정되어 낮은 해상도 스케일에서 품질을 향상시킵니다. 수동 오프셋으로도 수정할 수 있습니다.

이 효과들의 대부분은 더 나은 성능 또는 더 나은 품질을 위해 조정할 수 있습니다. 이는 Godot를 오프라인 렌더링에 사용할 때 유용합니다.

3D 툴

  • 내장 메시: 육면체, 원통/원뿔, (반)구체, 각기둥, 평면, 사변형, 원환체, 리본, 튜브.

  • GridMaps를 사용한 3D 타일 기반 레벨 디자인.

  • 구조적 입체기하학(프로토타이핑을 위해 의도됨).

  • 절차적 기하 생성을 위한 툴.

  • 3D 공간에서의 경로를 나타내는 Path3D 노드.

    • 편집기에서 그리거나 절차적으로 생성할 수 있습니다.

    • 노드가 Path3D 경로를 따라가도록 하는 PathFollow3D 노드.

  • 3D 기하 도우미 클래스.

  • 편집기에서 현재 씬을 glTF 2.0 파일로 내보내기에 대해 지원합니다.

3D 물리

물리 바디:

  • 정적 바디.

  • 애니메이터블 바디 (스크립트나 애니메이션으로만 움직이는 문과 플랫폼과 같은 오브젝트).

  • 리지드 바디.

  • 캐릭터 바디.

  • 차체 (시뮬레이션이 아닌 오락용 물리를 위한 물체).

  • 조인트.

  • RigidBody2D 사용하기

  • 래그돌(Ragdoll) 시스템

  • 물체가 들어오거나 나가는 것을 감지하는 영역.

콜리전 감지:

  • 내장 모양: 직육면체, 구체, 캡슐, 원통, 세계 경계 (무한 평면).

  • 어느 메시든지 편집기에서 삼각형 콜리전 모양을 생성합니다.

  • 어느 메시든지 편집기에서 하나 이상의 컨벡스 콜리전 모양을 생성합니다.

셰이더

스크립팅

일반:

  • 노드를 확장하는 스크립트를 통한 객체 지향 디자인 패턴.

  • 시그널과 그룹을 이용한 스크립트 간 통신.

  • 교차 언어 스크립팅 지원.

  • 벡터나 변형과 같은 다양한 2D, 3D 및 4D 선형대수 데이터 유형.

GDScript:

C#:

  • 파일 크기를 줄이고 의존성을 낮추기 위해 별도의 바이너리로 패키징했습니다.

  • .NET 8 및 상위 버전을 지원합니다.

    • C# 12.0의 구문과 기능을 모두 지원합니다.

  • Windows, Linux, macOS를 지원합니다. 4.2 버전부터는 Android 및 iOS에 대한 실험적 지원도 가능합니다.

    • iOS 플랫폼에서는 arm64 아키텍처만 지원됩니다.

    • 웹 플랫폼은 현재 지원되지 않습니다. 해당 플랫폼에서 C#을 사용하려면 Godot 3을 고려하세요.

  • IDE 기능을 활용하려면 외부 편집기 사용을 권장합니다.

GDExtension (C, C++, Rust, D, ...):

  • 필요할 때 더 높은 성능과 서드 파티 통합을 해야 한다면 네이티브 라이브러리에 연결하세요.

    • 성능이 적합하다면 게임 스크립트로는 GDScript나 C#을 사용할 것을 권장합니다.

  • 공식 GDExtension 바인딩: C <https://github.com/godotengine/godot-headers>C++ <https://github.com/godotengine/godot-cpp>.

    • 여러분이 사용하는 어느 빌드 시스템이나 언어든 사용할 수 있습니다.

  • 커뮤니티에서 제공하는 활발히 개발 중인 GDExtension 바인딩: D, Swift, Rust. (일부 바인딩은 실험적이며, 실제 사용에 적합하지 않을 수 있습니다).

오디오

기능:

  • 모노, 스테레오, 5.1 및 7.1 출력.

  • 2D 및 3D에서의 비위치 및 위치 재생.

    • 2D와 3D에서의 선택적 도플러 효과.

  • 수십 개의 효과가 포함되고 재 라우팅 가능한 오디오 버스 및 효과 지원.

  • 폴리포니(단일 AudioStreamPlayer 노드에서 여러 소리 재생) 지원.

  • 무작위 볼륨 및 피치에 대한 지원.

  • 실시간 피치 스케일링 지원.

  • 무작위 샘플 선택을 사용할 때 반복 방지를 포함하여 순차/무작위 샘플 선택에 대한 지원.

  • 카메라 외의 위치에서 듣기 위해 사용할 수 있는 Listener2D와 Listener3D 노드.

  • 절차적 오디오 생성을 위한 툴.

  • 마이크를 녹음할 수 있는 오디오 입력.

  • 텍스트를 음성으로 변환 플랫폼에서 제공하는 TTS 엔진을 사용합니다.

  • MIDI 입력.

    • MIDI 출력은 아직 지원하지 않습니다.

사용된 API 목록:

  • Windows: WASAPI.

  • macOS: CoreAudio.

  • Linux: PulseAudio 또는 ALSA.

가져오기

형식:

  • 이미지: 이미지 가져오기를 참고하세요.

  • 오디오:

    • 선택적 IMA-ADPCM 압축이 있는 WAV.

    • Ogg Vorbis.

    • MP3.

  • 3D 씬: 3D 씬 가져오기를 참고하세요.

    • glTF 2.0 (권장).

    • .blend 파일 (Blender의 glTF 내보내기 기능을 투명하게 호출하여).

    • FBX 파일 (백그라운드에서 FBX2glTF 호출하여).

    • Collada (.dae).

    • Wavefront OBJ (정적 씬에서만 가능, 메시로 직접 로드하거나 3D 씬으로 가져올 수 있습니다).

  • 내보낸 프로젝트를 포함하여 런타임에 glTF 2.0 씬을 불러오기를 지원합니다.

  • 3D 메시는 Mikktspace를 사용하여 가져올 때 탄젠트를 생성하고, 블렌더=와 같은 3D 애플리케이션과의 일관성을 확보합니다.

입력

  • 하드코딩된 입력 이벤트 또는 다시 매핑할 수 있는 입력 액션을 이용한 입력 매핑 시스템.

    • 입력 축 값은 데드존을 구성하여 두 개의 다른 액션으로 매핑할 수 있습니다.

    • 같은 코드로 키보드와 게임패드 둘 다 지원 가능합니다.

  • 키보드 입력.

    • "물리" 모드로 키를 매핑하여 키보드 레이아웃에 독립적이게 할 수 있습니다.

  • 마우스 입력.

    • 마우스 커서를 보이게 하거나 숨기거나 캡처하거나 창 안으로 가둘 수 있습니다.

    • 입력이 캡쳐될 때 원형 입력이 Windows와 Linux에서는 OS의 마우스 가속 설정을 우회하기 위해 사용하게 됩니다.

  • 게임패드 입력(최대 8개 컨트롤러까지 동시 입력 가능).

  • 펜/태블릿의 압력에 의한 입력 지원.

네트워킹

  • StreamPeerTCPServer를 사용한 저수준 TCP 네트워킹.

  • PacketPeerUDPServer를 사용한 저수준 UDP 네트워킹.

  • HTTPClient를 사용한 저수준 HTTP 요청.

  • HTTPRequest를 사용한 고수준 HTTP 요청.

    • 번들된 인증서를 사용한 HTTPS 기본 지원.

  • UDP와 ENet을 사용한 High-level multiplayer.

    • 원격 프로시저 호출(RPCs)을 사용한 자동 레플리케이션.

    • 신뢰/비신뢰/순차적 전송 지원.

  • WebSocket 모든 플랫폼에서 클라이언트 및 서버 사용 가능.

  • WebRTC 모든 플랫폼에서 클라이언트 및 서버 사용 가능.

  • NAT 안에서 서버 운영시 포트 포워딩을 사용하기 위한 요구사항인 UPnP 지원.

국제화

  • 이모지를 포함한 유니코드를 전체 지원합니다.

  • Windows, macOS 및 Linux에서 시스템 글꼴 로드를 지원합니다.

    • 기본적으로 시스템 글꼴은 지원되지 않는 문자를 표시하기 위한 대체 수단으로 사용됩니다. 이를 통해 큰 글꼴 파일을 프로젝트와 함께 묶지 않고도 다국어 텍스트를 적절하게 표시할 수 있습니다.

  • CSV 또는 gettext를 이용해 현지화 문자열 저장.

    • 편집기에서 gettext POT 및 PO 파일의 생성을 지원합니다.

  • GUI 요소에서 자동으로 또는 tr() 함수를 사용하여 프로젝트에서 현지화된 문자열을 사용합니다.

  • gettext 번역을 사용할 때 복수형 처리와 번역 문맥을 지원합니다.

  • 양방향 조판, 텍스트 셰이핑 및 OpenType 현지화 형식을 지원합니다.

  • 오른쪽에서 왼쪽으로 읽는 로케일에 대한 자동 UI 미러링을 지원합니다.

  • 프로젝트의 국제화 친화성을 테스트하기 위한 의사 현지화 지원.

윈도우화 및 운영 체제 통합

  • 단일 프로세스 안에서 여러 독립적인 창을 소환합니다.

  • 프로젝트에서 소환한 창 이동, 크기 조절, 최소화 및 최대화.

  • 창 제목 및 아이콘 변경.

  • 만들기 투명 창을 사용하여 오버레이로 사용할 수 있으며 다각형 기반 마우스 패스스루를 지원합니다.

  • 주의 요청 (대부분의 플랫폼의 제목표시줄에 깜빡임 발생).

  • 전체 화면 모드.

    • 기본적으로 Windows에서 빠른 Alt-탭 전환을 위해 경계 없는 전체 화면을 사용하지만, 선택적으로 입력 지연을 줄이기 위해 독점 전체 화면을 사용할 수 있습니다.

  • 테두리 없는 창 (전체 화면 또는 비 전체 화면).

  • 창을 항상 위에 두는 기능.

  • 창이 포커스를 무시하도록 만듭니다(오버레이에 유용함).

  • 창을 팝업(작업 전환기에서 숨김) 또는 독점(동일 프로세스의 다른 창과 상호 작용하는 것을 방지)으로 선언합니다.

  • Windows, macOS, Linux 및 Android에서 기본 파일 대화 상자를 지원합니다.

  • ETC2 (macOS에서는 지원하지 않음).

  • macOS에서 전역 메뉴 통합.

  • macOS에서 전역 메뉴 통합.

  • 블로킹 또는 비 블로킹 방식으로 명령을 실행합니다 (동일한 프로젝트의 여러 인스턴스를 실행하는 것을 포함).

  • 기본 또는 (시스템에 등록된) 커스텀 프로토콜 처리를 사용한 파일 위치 및 URL 열기.

  • 사용자 지정 명령줄 인수를 파싱합니다.

  • Windows, macOS 및 Linux에서 화면 판독기를 지원합니다.

  • 아무 Godot 바이너리(편집기 또는 내보낸 프로젝트)도 --headless 명령줄 인수를 사용하여 헤드리스 서버로 사용할 수 있습니다. 이를 통해 GPU나 디스플레이 서버 없이 엔진을 실행할 수 있도록 합니다.

더 보기

이러한 기능 사용에 대한 자세한 내용은 :ref:`doc_creating_applications`를 참조하세요.

모바일

  • In-app purchases on Android and iOS.

  • 서드 파티 모듈을 사용한 광고 지원.

XR 지원 (AR 및 VR)

  • 기본 제공 OpenXR 지원.

    • Meta Quest나 Valve Index와 같은 유명한 기기들에 대한 지원을 포함합니다.

  • 플러그인을 통해 OpenXR을 사용하는 Android 기반 헤드셋을 위한 지원.

    • 메타 퀘스트 1/2/3 및 Pro, Pico 4, Magic Leap 2, Lynx R1과 같은 인기 독립형 헤드셋을 지원합니다.

  • 기본 제공 OpenXR 지원.

    • 현재 헤드셋 내에서 평면용으로 애플리케이션을 내보내는 것만 지원됩니다. 몰입형 경험은 지원되지 않습니다.

  • XR 플러그인 구조를 통해 지원되는 기타 장치.

  • XR 애플리케이션에 필요한 공통 기능을 구현하는 다양한 고급 툴킷이 사용 가능합니다.

GUI 시스템

Godot의 GUI는 Godot에서 게임을 만들 때 사용되는 것과 같은 동일한 컨트롤 노드를 사용해 빌드되었습니다. 편집기 UI는 애드온을 사용하여 다양한 방법으로 쉽게 확장할 수 있습니다.

노드:

  • 버튼.

  • 체크박스, 체크 버튼, 라디오 버튼.

  • LineEdit (한 줄) 및 TextEdit(여러 줄)을 사용하여 텍스트를 입력합니다. TextEdit는 행 번호 표시 및 구문 강조 표시와 같은 코드 편집 기능도 지원합니다.

  • PopupMenuOptionButton을 사용하는 드롭다운 메뉴.

  • 스크롤바.

  • 레이블.

  • RichTextLabel은 text formatted using BBCode를 위한 것으로, 애니메이션화된 커스텀 효과를 지원합니다.

  • 트리 (표를 표현할 때에도 사용 가능).

  • RGB와 HSV 모드를 포함한 색상 선택기.

  • 컨트롤은 회전하거나 크기를 키울 수 있습니다.

크기 조절:

  • GUI 요소를 특정 코너, 에지 또는 중앙에 고정하는 앵커.

  • 일정한 규칙에 따라 GUI 요소들을 자동으로 배치하는 컨테이너.

  • canvas_items 또는 viewport 의 늘리기 모드를 사용하여 multiple resolutions 로 확장합니다.

  • 앵커와 expand 늘리기 비율을 사용한 모든 화면 비율 지원.

테마:

  • 내장 테마 편집기.

    • 현재 편집기 테마 설정에 따라 테마를 생성합니다.

  • StyleBoxFlat를 사용한 벡터 기반 절차적 테마.

    • 둥근 모서리와 굽은 모서리, 그림자 및 테두리별 너비와 안티에일리어싱 지원.

  • StyleBoxTexture를 사용한 텍스트 기반 테마.

Godot의 작은 배포 크기는 Electron이나 Qt같은 프레임워크의 적절한 대안이 될 수 있습니다.

애니메이션

  • 직운동학과 역운동학.

  • 모든 속성에 대해 보간법을 사용자 지정할 수 있는 애니메이팅 지원.

  • 애니메이션 트랙에서 메서드 호출 지원.

  • 애니메이션 트랙에서 소리 지원.

  • 애니메이션에서 베지에 곡선(Bézier curves) 지원.

파일 형식

  • 씬과 리소스는 텍스트 기반 또는 바이너리 형식으로 저장 가능.

    • 텍스트 기반 형식은 사람이 읽을 수 있고, 버전 관리 친화적입니다.

    • 바이너리 형식은 큰 씬 또는 리소스에 대해 저장과 불러오기가 빠릅니다.

  • FileAccess 을 이용해 텍스트나 바이너리 파일을 읽고 쓰기.

    • 선택적으로 압축하거나 암호화할 수 있습니다.

  • JSON 파일 읽고 쓰기.

  • ConfigFile을 사용해 INI 스타일 구성 파일 읽고 쓰기.

    • 벡터2/3, 컬러를 포함한 모든 Godot 데이터 타입을 (역)직렬화할 수 있습니다.

  • XMLParser를 사용한 XML 파일 읽기.

  • Godot의 가져오기 시스템을 거치지 않고도 내보낸 프로젝트에서 이미지, 오디오/비디오, 글꼴 및 ZIP 아카이브를 불러오고 저장합니다.

  • 게임 데이터를 PCK 파일(빠른 검색에 최적화된 전용 포맷), ZIP 파일, 또는 직접 실행 가능한 한 개의 파일 안에 압축.

  • 모드와 DLC를 지원하기 위해 엔진이 읽을 수 있는 추가적인 PCK 파일 내보내기.

기타

  • Ogg Theora를 내장 지원하여 비디오 재생을 할 수 있습니다.

  • Movie Maker mode 를 사용하여 실행 중인 프로젝트에서 동기화된 오디오와 완벽한 프레임 페이싱으로 비디오를 녹화할 수 있습니다.

  • 필요할 때 씬 트리의 오버헤드를 무시할 수 있는 서버에 대한 낮은 수준의 접근.

  • 자동화를 위한 명령줄 인터페이스 .

    • 지속적인 통합 플랫폼을 사용해 프로젝트를 내보내고 배포합니다.

    • 명령줄 자동완성 스크립트는 Bash, zsh 그리고 fish에서 사용 가능합니다.

    • 모든 플랫폼에서 print_rich 를 사용하여 표준 출력에 컬러 텍스트를 출력할 수 있습니다.

  • 편집기는 프로젝트에서 사용된 기능을 감지하고 컴파일 프로필을 생성할 수 있으며, 이를 통해 불필요한 기능을 비활성화하여 더 작은 크기의 내보내기 템플릿 바이너리를 생성할 수 있습니다.

  • 엔진 바이너리와 정적으로 연결된 C++ 모듈 지원.

    • 그 밖에서 Android 내보내기 템플릿의 필요한 기능만을 활성화 해 컴파일하는 등으로 용량을 더 줄일 수 있습니다. :ref:`doc_optimizing_for_size`에서 추가 정보를 확인하세요.

  • C++17로 작성된 엔진과 편집기.

    • GCC, Clang과 MSVC를 사용해 컴파일될 수 있습니다. MinGW 또한 지원됩니다.

    • 패키저(packagers) 친화적입니다. 대부분의 경우 시스템 라이브러리를 Godot가 제공하는 라이브러리 대신 사용할 수 있습니다. 빌드 시스템은 아무것도 다운로드하지 않습니다. 빌드는 완전히 재현할 수 있습니다.

  • 라이선스는 MIT 라이선스입니다.

    • contributions welcome 공개된 개발 프로세스.

더 보기

Godot 제안 저장소에는 커뮤니티가 요청한 기능과 향후 Godot 릴리스에서 구현될 수 있는 기능 목록이 있습니다.