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.
Checking the stable version of the documentation...
기능의 목록
이 페이지의 목표는 현재 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 디버거.
스레드에서의 디버깅을 지원합니다.
렌더링 파이프라인의 각 단계에 대한 CPU 및 GPU 시간 표시를 포함하는 시각적 프로파일러.
사용자 지정 퍼포먼스 모니터를 포함한 퍼포먼스 모니터링 도구.
더 심층적인 최적화 작업을 위해 트레이시 와 페르페토 같은 :ref:`트레이싱 프로파일러 <doc_tracing_profilers>`를 지원합니다.
모든 스크립트는 에디터 플러그인을 만들 필요 없이 :ref:`에디터에서 실행 <doc_running_code_in_the_editor>`할 수 있고, 인스펙터에 클릭 가능한 버튼을 추가하는 것과 같은 사용자 정의 기능을 제공할 수 있습니다.
실시간 스크립트 리로딩.
실시간 씬 편집.
변경사항은 편집기에 반영될 것 이며 실행 중인 프로젝트를 닫은 후에도 유지될 것 입니다.
실시간 카메라 복제(기본적으로 비활성화).
편집기 내 카메라를 움직여 실행 중인 프로젝트에서 결과를 봅니다.
원격 인스펙터.
변경사항은 편집기에 반영되지 않을 것이며 실행 중인 프로젝트를 닫은 후에는 유지되지 않습니다.
하나의 편집기 인스턴스에서 여러 개의 프로젝트 인스턴스들을 동시에 실행할 수 있습니다 (클라이언트/서버 테스트에 유용합니다).
편집기 안의 패널에서 프로젝트를 실행할 수 있는 선택적 게임 임베딩 기능입니다.
프로젝트의 뷰포트에서 2D 및 3D 노드를 선택하여 편집기에서 검사할 수 있습니다.
2D 및 3D 카메라 오버라이드(camera overrides)를 사용하여 프로젝트 내에서 카메라를 이동합니다.
시간 배율 조정, 일시 정지, 프레임 진행(frame advance)을 지원합니다.
프로젝트 음소거를 지원합니다.
2D 및 3D 차원에서 거리를 측정하는 자 도구입니다.
3D에서 정점 스냅을 지원합니다.
초점 선택을 두 번 사용하여 3D에서 이동하는 선택 항목 따라가기를 지원합니다.
내장 오프라인 클래스 참조 문서.
커뮤니티에서 기여한 수십 가지 언어로 편집기를 사용하세요.
플러그인:
Editor plugins can be downloaded from the Asset Store to extend editor functionality.
GDScript를 사용하여 자신의 플러그인을 만들어 새로운 기능을 추가하거나 작업 흐름을 가속화하하세요.
Download projects from the Asset Store in the Project Manager and import them directly.
렌더링
Godot 4에는 세 가지 렌더러가 포함되어 있습니다:
Forward+. 데스크톱 플랫폼에만 적합한 가장 고급 렌더러입니다. 데스크톱 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 Vulkan, Direct3D 12, 또는 Metal을 렌더링 드라이버로 사용하며, RenderingDevice 백엔드를 사용합니다.
모바일. 기능은 적지만 단순한 씬을 더 빠르게 렌더링합니다. 모바일 및 데스크톱 플랫폼에 적합합니다. 모바일 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 Vulkan, Direct3D 12, 또는 Metal을 렌더링 드라이버로 사용하며, RenderingDevice 백엔드를 사용합니다.
호환성, 때때로 GL 호환성이라고도 불립니다. 가장 덜 발전된 렌더러로, 저사양 데스크톱 및 모바일 플랫폼에 적합합니다. 웹 플랫폼에서는 기본으로 사용됩니다. 이 렌더러는 OpenGL을 렌더링 드라이버로 사용합니다.
더 보기
렌더링 메서드의 자세한 비교는 렌더러의 개요를 참조하세요.
2D 그래픽
스프라이트, 폴리곤 및 직선 렌더링.
애니메이션 스프라이트 제작 도우미 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 글꼴을 작은 크기로 더 잘 축소할 수 있게 합니다.
class_DPITexture`임포트 타입을 사용하는 SVG 이미지의 :ref:`오버샘플링. 이 방식은 런타임에 SVG 원본 이미지를 새로운 해상도로 다시 래스터화(re-rasterizing)하여, 텍스처를 확대할 때 더 선명한 결과를 얻을 수 있게 해줍니다.
오버샘플링(Oversampling)은 노드를 확대할 때 더 선명한 렌더링을 위해, 선택적으로 개별:ref:`class_CanvasItem`의 스케일 값을 고려할 수 있습니다.
커스텀 입자 셰이더를 지원하는 GPU 기반 입자.
CPU 기반 입자.
향상된 글로우 능력을 위한 선택적 2D HDR 렌더링.
그라디언트(gradients)의 밴딩 현상(banding artifacts)을 줄이기 위한 선택적 디밴딩(debanding) 기능입니다.
지원되는 플랫폼과 렌더러에서 HDR 출력 기능을 제공합니다.
2D 툴
타일맵을 통한 2D 타일 기반 레벨 디자인.
내장 스무딩과 드래그 여백으로 된 2D 카메라.
2D 공간에서의 경로를 나타내는 Path2D 노드.
편집기에서 그리거나 절차적으로 생성할 수 있습니다.
노드가 Path2D 경로를 따라가도록 하는 PathFollow2D 노드.
2D 물리
물리 바디:
정적 바디.
애니메이터블 바디 (스크립트나 애니메이션으로만 움직이는 문과 플랫폼과 같은 오브젝트).
리지드 바디.
캐릭터 바디.
조인트.
물체가 들어오거나 나가는 것을 감지하는 영역.
물리 보간(Physics interpolation) <doc_physics_interpolation>`.
콜리전 감지:
내장 모양: 선, 상자, 원, 캡슐, 세계 경계 (무한 평면).
콜리전 폴리곤 (편집기에서 직접 그리거나 스프라이트로부터 생성될 수 있음).
3D 그래픽
선형 HDR 내부 조명 계산입니다.
그라디언트(gradients)의 밴딩 현상(banding artifacts)을 줄이기 위한 선택적 디밴딩(debanding) 기능입니다.
지원되는 플랫폼과 렌더러에서 HDR 출력 기능을 제공합니다.
원근, 직교 및 절두체 오프셋 카메라.
Forward+ 렌더러를 사용할 때 깊이 프리패스가 사용되어 복잡한 씬에서 오버드로 비용을 줄여 성능을 향상시킬 수 있습니다.
Forward+ 및 모바일 렌더러에서 지원되는 GPU에서 가변 비율 셰이딩을 사용합니다.
물리 기반 렌더링 (내장 머티리얼 기능):
디즈니 PBR 모델을 따릅니다.
Burley, Lambert, Lambert Wrap (half-Lambert) 및 Toon Diffuse 셰이딩 모드 지원.
Schlick-GGX, Toon, Disabled 스페큘러 셰이딩 모드 지원.
ORM 텍스처를 지원하는 거칠기-메탈릭 워크플로를 사용합니다.
호라이즌 스페큘러 오클루전(필라멘트 모델)을 사용하여 머티리얼 외관을 개선합니다.
노멀 매핑.
거리 기반 자동 LOD를 포함한 패럴랙스 매핑/릴리프 매핑.
알베도 및 노멀 맵에 대한 디테일 매핑.
Subsurface scattering and transmittance.
머티리얼 거칠기를 지원하는 화면공간 반사 (흐릿한 반사).
근접 페이드(부드러운 입자)와 거리 페이드.
거리 페이드는 투명 파이프라인을 거치지 않기 위해 알파 블렌딩이나 디더링을 사용할 수 있습니다.
디더링은 픽셀이나 오브젝트 별로 결정할 수 있습니다.
실시간 조명:
방향성 조명 입니다(햇빛 또는 달빛용).
전방향 조명 입니다.
스포트라이트 이며, 각도와 감쇠를 조정할 수 있습니다.
사각형 영역 조명 이며, 선택적 텍스처를 통해 모양과 색을 결정할 수 있습니다.
반사, 간접광, 볼류메트릭 안개 강도는 조명마다 조절할 수 있습니다.
조정 가능한 조명 "크기"이며, 구 모양 전방향 조명과 디스크 스포트 조명을 위해 사용됩니다(또한 가변 반음영으로 그림자를 더 흐리게 만듭니다).
성능을 향상시키기 위해 먼 거리의 조명과 그림자를 점차적으로 사라지게 하는 선택적 거리 페이드 시스템.
Forward+ 백엔드(데스크톱에서 디폴트)를 사용할 때, 조명의 개별 비용을 줄이기 위해 클러스터형 전방 최적화 기법을 사용하여 렌더링합니다. 클러스터형 렌더링은 한 메시에 사용할 수 있는 조명의 최대 수 제한도 제거합니다.
Mobile 렌더러를 사용할 때는 메시(mesh) 리소스 하나당 옴니 라이트(omni light) 최대 8개, 스팟 라이트(spot light) 최대 8개, 영역 라이트(area light) 최대 8개까지 표시할 수 있습니다. 필요한 경우 베이크드 라이팅(baked lighting)을 사용하여 이 제한을 극복할 수 있습니다.
그림자 매핑:
DirectionalLight: 직교(Orthogonal) (가장 빠름), PSSM 2-split 및 4-split. 분할(split) 간 블렌딩을 지원합니다.
OmniLight3D: 쌍포물면(dual paraboloid, 빠름) 또는 큐브맵 (cubemap, 느리지만 더 정확). 색이 있는 프로젝터 텍스처를 파노라마의 형태로 지원합니다.
SpotLight3D: 단일 텍스처. 색이 있는 프로젝터 텍스처(projector textures)에 대응.
AreaLight3D: 빛의 형태를 근사하기 위해 쌍포물면(dual paraboloid) 왜곡을 적용한 단일 텍스처를 사용합니다.
그림자 노멀 오프셋 바이어스와 그림자 팬케이킹을 통해 그림자 아티팩트와 피터 팬 현상을 줄입니다.
빛의 크기와 그림자가 드리워지는 표면까지의 거리를 기반으로 :abbr:`PCSS (Percentage Closer Soft Shadows)`와 유사한 그림자 블러(blur)를 적용합니다. 모든 라이트(light) 타입에서 지원됩니다.
조명 단위로 조정할 수 있는 그림자 블러 효과.
간접 조명을 통한 글로벌 일루미네이션:
구워진 라이트맵 (빠르지만, 런타임 중에 업데이트할 수 없음).
간접 조명만 굽기나 직접 및 간접 조명을 모두 굽기를 지원합니다. 굽기 모드는 하이브리드 조명 베이킹 설정을 허용하도록 조명별로 조정할 수 있습니다.
자동 및 수동으로 배치된 프로브를 사용하여 동적 오브젝트에 라이팅을 지원합니다.
Optionally supports directional lighting based on spherical harmonics.
Optionally supports baking a shadowmask for distant static directional shadows.
Optional supersampling at bake-time to improve quality and reduce light leaking at the cost of increased bake times and memory usage during baking.
Lightmaps are baked on the GPU using compute shaders (much faster than CPU lightmapping). Baking can only be performed from the editor, not in exported projects.
Supports GPU-based denoising with JNLM out of the box, or higher-quality CPU/GPU-based denoising with OIDN (requires downloading OIDN separately).
Lightmaps are rendered with bicubic filtering to reduce scaling artifacts.
복셀 기반 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 텍스처를 사용하는 색 교정.
스페큘러 에일리어싱의 영향을 줄이기 위한 거칠기 리미터.
밝기, 대비 및 채도 조정.
텍스처 필터링:
근접, 이중선형, 삼중선형 또는 비등방성 필터링.
필터링 옵션은 텍스처 기준이 아닌 사용별 기준로 정의됩니다.
Texture VRAM compression:
BPTC (for high-quality compression targeting desktop platforms).
ASTC (for high-quality compression targeting mobile platforms).
ETC2 (for fast compression targeting mobile platforms).
S3TC (for fast compression targeting desktop platforms).
Basis Universal (slow, but only requires one encoding for all platforms).
안티앨리어싱:
시간적 안티앨리어싱 (TAA).
AMD FidelityFX Super Resolution 2.2 안티앨리어싱 (FSR2), 고품질 시간적 안티앨리어싱 형태로 네이티브 해상도에서 사용할 수 있습니다.
고속 근사 안티앨리어싱 (FXAA).
1.0 이상의 3D 해상도 스케일과 양선형 3D 스케일링을 사용하는 슈퍼 샘플 안티앨리어싱(SSAA).
알파 안티앨리어싱, MSAA 알파 투 커버리지 및 알파 해싱을 재질별로 지원합니다.
해상도 스케일링:
2D 렌더링을 원래 스케일을 유지하면서 낮은 해상도로 3D 렌더링하는 기능을 지원합니다. 이는 저사양 시스템에서 성능을 향상시키거나 고사양 시스템에서 시각적 품질을 개선하는 데 사용할 수 있습니다.
Resolution scaling uses nearest-neighbor filtering, bilinear filtering, AMD FidelityFX Super Resolution 1.0 (FSR1), or AMD FidelityFX Super Resolution 2.2.1 (FSR2).
텍스처 밉맵 LOD 바이어스는 자동으로 조정되어 낮은 해상도 스케일에서 품질을 향상시킵니다. 수동 오프셋으로도 수정할 수 있습니다.
이 효과들의 대부분은 더 나은 성능 또는 더 나은 품질을 위해 조정할 수 있습니다. 이는 Godot를 오프라인 렌더링에 사용할 때 유용합니다.
3D 툴
3D 물리
물리 바디:
정적 바디.
애니메이터블 바디 (스크립트나 애니메이션으로만 움직이는 문과 플랫폼과 같은 오브젝트).
리지드 바디.
캐릭터 바디.
차체 (시뮬레이션이 아닌 오락용 물리를 위한 물체).
조인트.
물체가 들어오거나 나가는 것을 감지하는 영역.
물리 보간(Physics interpolation) <doc_physics_interpolation>`.
콜리전 감지:
내장 모양: 직육면체, 구체, 캡슐, 원통, 세계 경계 (무한 평면).
어느 메시든지 편집기에서 삼각형 콜리전 모양을 생성합니다.
어느 메시든지 편집기에서 하나 이상의 컨벡스 콜리전 모양을 생성합니다.
셰이더
2D: 사용자 지정 버텍스, 프래그먼트 및 라이트 셰이더.
3D: Custom vertex, fragment, light, sky, and fog shaders.
Custom shaders can procedurally generate and modify textures in real-time using DrawableTexture2D.
GLSL에서 영감을 얻은 셰이더 언어를 사용한 텍스트 기반 셰이더.
Syntax highlighting is provided on GitHub by using
gdshaderas the language name in a Markdown code block.비주얼 셰이더 편집기.
사용자 지정 가져오기 플러그인 지원.
스크립팅
일반:
노드를 확장하는 스크립트를 통한 객체 지향 디자인 패턴.
시그널과 그룹을 이용한 스크립트 간 통신.
교차 언어 스크립팅 지원.
벡터나 변형과 같은 다양한 2D, 3D 및 4D 선형대수 데이터 유형.
optional static typing 을 포함한 High-level interpreted language.
문법은 파이썬에서 영감을 받았지만, GDScript는 파이썬 기반이 아닙니다.
Syntax highlighting is provided on GitHub by using
gdscriptas the language name in a Markdown code block.쓰레드를 사용해 비동기 액션이나 멀티 프로세서 코어 작업을 할 수 있습니다.
파일 크기를 줄이고 의존성을 낮추기 위해 별도의 바이너리로 패키징했습니다.
.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++.
여러분이 사용하는 어느 빌드 시스템이나 언어든 사용할 수 있습니다.
커뮤니티에서 제공하는 활발히 개발 중인 GDExtension 바인딩: D, Swift, Rust. (일부 바인딩은 실험적이며, 실제 사용에 적합하지 않을 수 있습니다).
오디오
기능:
모노, 스테레오, 5.1 및 7.1 출력.
2D 및 3D에서의 비위치 및 위치 재생.
2D와 3D에서의 선택적 도플러 효과.
수십 개의 효과가 포함되고 재 라우팅 가능한 오디오 버스 및 효과 지원.
폴리포니(단일 AudioStreamPlayer 노드에서 여러 소리 재생) 지원.
무작위 볼륨 및 피치에 대한 지원.
실시간 피치 스케일링 지원.
무작위 샘플 선택을 사용할 때 반복 방지를 포함하여 순차/무작위 샘플 선택에 대한 지원.
카메라 외의 위치에서 듣기 위해 사용할 수 있는 AudioListener2D와 AudioListener3D 노드.
절차적 오디오 생성을 위한 툴.
마이크를 녹음할 수 있는 오디오 입력.
텍스트를 음성으로 변환 플랫폼에서 제공하는 TTS 엔진을 사용합니다.
MIDI 입력.
MIDI 출력은 아직 지원하지 않습니다.
사용된 API 목록:
Windows: WASAPI.
macOS: CoreAudio.
Linux: PulseAudio 또는 ALSA.
가져오기
사용자 지정 가져오기 플러그인 지원.
형식:
이미지: 이미지 가져오기를 참고하세요.
오디오:
선택적 QOA 또는 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 애플리케이션과의 일관성을 확보합니다.
입력
하드코딩된 입력 이벤트 또는 다시 매핑할 수 있는 입력 액션을 이용한 입력 매핑 시스템.
입력 축 값은 데드존을 구성하여 두 개의 다른 액션으로 매핑할 수 있습니다.
같은 코드로 키보드와 게임패드 둘 다 지원 가능합니다.
키보드 입력.
"물리" 모드로 키를 매핑하여 키보드 레이아웃에 독립적이게 할 수 있습니다.
마우스 입력.
마우스 커서를 보이게 하거나 숨기거나 캡처하거나 창 안으로 가둘 수 있습니다.
The mouse cursor's appearance can be changed to a custom image or one of the system cursors.
When captured, raw input is used on Windows and Linux to sidestep the OS' mouse acceleration settings.
게임패드 입력 (최대 8개 컨트롤러까지 동시 입력 가능).
Support for changing the LED color on supported controllers.
Support for reading motion sensors on supported controllers (used to implement gyro aiming).
Pen/tablet input with pressure and tilt support.
네트워킹
StreamPeer와 TCPServer를 사용한 저수준 TCP 네트워킹.
PacketPeer와 UDPServer를 사용한 저수준 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 미러링을 지원합니다.
프로젝트의 국제화 친화성을 테스트하기 위한 의사 현지화 지원.
윈도우화 및 운영 체제 통합
단일 프로세스 안에서 여러 독립적인 창을 소환합니다.
프로젝트에서 소환한 창 이동, 크기 조절, 최소화 및 최대화.
창 제목 및 아이콘 변경.
만들기 투명 창을 사용하여 오버레이로 사용할 수 있으며 다각형 기반 마우스 패스스루를 지원합니다.
주의 요청 (대부분의 플랫폼의 제목표시줄에 깜빡임 발생).
Fullscreen mode (borderless and exclusive).
테두리 없는 창 (전체 화면 또는 비 전체 화면).
창을 항상 위에 두는 기능.
창이 포커스를 무시하도록 만듭니다(오버레이에 유용함).
창을 팝업(작업 전환기에서 숨김) 또는 독점(동일 프로세스의 다른 창과 상호 작용하는 것을 방지)으로 선언합니다.
Windows, macOS, Linux 및 Android에서 기본 파일 대화 상자를 지원합니다.
ETC2 (macOS에서는 지원하지 않음).
macOS에서 전역 메뉴 통합.
macOS에서 전역 메뉴 통합.
블로킹 또는 비 블로킹 방식으로 명령을 실행합니다 (동일한 프로젝트의 여러 인스턴스를 실행하는 것을 포함).
기본 또는 (시스템에 등록된) 커스텀 프로토콜 처리를 사용한 파일 위치 및 URL 열기.
사용자 지정 명령줄 인수를 파싱합니다.
Windows, macOS 및 Linux에서 화면 판독기를 지원합니다.
아무 Godot 바이너리(편집기 또는 내보낸 프로젝트)도
--headless명령줄 인수를 사용하여 헤드리스 서버로 사용할 수 있습니다. 이를 통해 GPU나 디스플레이 서버 없이 엔진을 실행할 수 있도록 합니다.
더 보기
이러한 기능 사용에 대한 자세한 내용은 콘텐츠 만들기를 참조하세요.
모바일
Virtual joystick and buttons for touch input.
Android 및 <https://github.com/godot-sdk-integrations/godot-storekit2>에서의 인앱 구매.
서드 파티 모듈을 사용한 광고 지원.
Support for picture-in-picture mode on Android.
XR 지원 (AR 및 VR)
Support for desktop headsets using OpenXR. If a headset works with SteamVR, it should work with Godot.
Godot also supports Quest over Link, AndroidXR Direct Preview, and Pico Connect.
Support for Android-based headsets using OpenXR. Including support for the following standalone headsets:
Meta Quest 1/2/3 and Pro
Pico 4/4 Ultra
Magic Leap 2
Lynx R1
HTC Vive Focus Vision
Android XR headsets
Support for the Linux-based standalone Steam Frame using OpenXR.
Limited support for visionOS Apple headsets.
현재 헤드셋 내에서 평면용으로 애플리케이션을 내보내는 것만 지원됩니다. 몰입형 경험은 지원되지 않습니다.
XR 플러그인 구조를 통해 지원되는 기타 장치.
XR 애플리케이션에 필요한 공통 기능을 구현하는 다양한 고급 툴킷이 사용 가능합니다.
GUI 시스템
Godot의 GUI는 Godot에서 게임을 만들 때 사용되는 것과 같은 동일한 컨트롤 노드를 사용해 빌드되었습니다. 편집기 UI는 애드온을 사용하여 다양한 방법으로 쉽게 확장할 수 있습니다.
노드:
버튼.
체크박스, 체크 버튼, 라디오 버튼.
LineEdit (한 줄) 및 TextEdit(여러 줄)을 사용하여 텍스트를 입력합니다. CodeEdit는 행 번호 표시 및 구문 강조 표시와 같은 코드 편집 기능도 지원합니다.
Dropdown menus using PopupMenu and OptionButton with support for an optional search bar.
스크롤바.
레이블.
RichTextLabel은 text formatted using BBCode를 위한 것으로, 애니메이션화된 커스텀 효과를 지원합니다.
트리 (표를 표현할 때에도 사용 가능).
Color picker with RGB, HSV, and OKHSL modes, as well as custom color palettes.
컨트롤은 회전하거나 크기를 키울 수 있습니다.
Drag-and-drop support.
크기 조절:
GUI 요소를 특정 코너, 에지 또는 중앙에 고정하는 앵커.
일정한 규칙에 따라 GUI 요소들을 자동으로 배치하는 컨테이너.
Stack 레이아웃.
Grid 레이아웃.
Flow 레이아웃. (텍스트 자동완성과 비슷함).
Draggable splitter 레이아웃.
Foldable section layouts.
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 내보내기 템플릿의 필요한 기능만을 활성화 해 컴파일하는 등으로 용량을 더 줄일 수 있습니다. 크기에 따른 빌드 최적화에서 추가 정보를 확인하세요.
C++17로 작성된 엔진과 편집기.
GCC, Clang과 MSVC를 사용해 컴파일될 수 있습니다. MinGW 또한 지원됩니다.
패키저(packagers) 친화적입니다. 대부분의 경우 시스템 라이브러리를 Godot가 제공하는 라이브러리 대신 사용할 수 있습니다. 빌드 시스템은 아무것도 다운로드하지 않습니다. 빌드는 완전히 재현할 수 있습니다.
라이선스는 MIT 라이선스입니다.
contributions welcome 공개된 개발 프로세스.
더 보기
Godot 제안 저장소에는 커뮤니티가 요청한 기능과 향후 Godot 릴리스에서 구현될 수 있는 기능 목록이 있습니다.