개발 스냅샷: Godot 4.8 베타 1
요약
Godot 엔진의 4.8 베타 스냅샷이 출시되었으며, 기능 동결(feature-freeze)을 완료하고 회귀 수정 및 버그 수정에 집중하고 있습니다. 개발자들은 버그 사냥 스프린트에 참여하여 안정화 작업을 지원할 것을 권장합니다.
핵심 포인트
- Godot 4.8은 기능 동결 단계에 진입했습니다.
- 개발 리소스는 전적으로 회귀 수정과 버그 검토에 집중됩니다.
- 사용자는 버그 분류 및 지정 채널을 통해 참여가 가능합니다.
다시 한번 출시 주기가 돌아왔습니다. 바로 베타 스냅샷입니다! 이를 통해 4.8은 기능 동결(feature-freeze)이 완료되었으며, 개발자 리소스는 전적으로 다양한 회귀 수정(regression fixes)을 생성하고 검토하는 데 집중되고 있습니다.
이 기간 동안 발생하는 모든 버그를 잡는 여정에 도움을 주고 싶은 분들을 위해, 저희는 다시 한번 여러분이 버그 사냥 스프린트(bug-hunting sprints)에 참여해 주시기를 권장합니다. 관심 있는 분들은 버그 분류 소개(Bug Triage Introduction)를 읽고, 개발자 RocketChat의 #bugsquad 및 #bugsquad-sprints 채널에 참여해 주시면 됩니다.
가능하시다면 프로젝트 후원(support)을 고려해 주십시오. Godot은 자원봉사자들과 소수의 유료 기여자들의 노력으로 유지되고 있습니다. 여러분의 기부는 그들의 작업에 대한 스폰서십 역할을 하며, 프로젝트의 필요에 전념할 수 있도록 보장합니다.
다운로드(Downloads) 섹션으로 이동하여 지금 바로 사용해 보시거나, 계속 읽으셔서 이번 릴리스에서 개선된 사항들에 대해 더 알아보실 수 있습니다. 또한 웹 에디터(Web editor), XR 에디터(XR editor), 또는 Android 에디터(Android editor)도 이용할 수 있습니다. 후자(Android 에디터)에 관심이 있으시다면, 사전 릴리스 빌드에 접근하기 위해 테스트 그룹(our testing group) 가입을 요청해 주십시오.
커버 일러스트는 Rita의 작품으로, 아늑한 세계관 속에서 다양한 단어 퍼즐을 특징으로 하는 플랫폼 요소가 가미된 퍼즐 게임입니다. 이 게임은 Steam에서 구매할 수 있으며, 개발자는 Bluesky, YouTube, itch.io에서도 팔로우할 수 있습니다.
주요 내용 (Highlights)
저희의 개발 스냅샷을 주의 깊게 따라와 주신 분들은 이 게시물에 언급된 여러 주요 내용들이 이전 기사들(4.8 dev 1, 4.8 dev 2, 4.8 dev 3, 4.8 dev 4, 4.8 dev 5, 4.8 dev 6, 그리고 4.8 dev 7)에서 이미 다루어졌음을 알고 계실 수 있습니다.
이미 기능 동결(feature freeze) 단계에 접어들었기 때문에, 개발 7 버전과 비교했을 때 새로 다룰 기능은 없습니다. 대신, Godot 4.8 전체에서 기대할 수 있는 내용을 전반적으로 정리하고, 이전 스냅샷에서 강조할 기회가 없었던 추가 사항들을 확장하여 설명하는 데 중점을 둘 것입니다.
- Breaking changes
- 3D
- Animation
- Core
- Documentation
- Editor
- GDScript
- GUI
- Input
- Physics
- Platforms
- Rendering
- Shaders
- XR
Breaking changes (호환성 깨짐 변경 사항)
저희는 호환성 깨짐을 최소화하려고 노력하지만, 때로는 높은 우선순위의 문제를 해결하기 위해 불가피합니다. 저희가 호환성을 깨야 하는 경우에는, 그 변화가 최소한이도록 하고 사용자 프로젝트에서 적은 수정만 필요하도록 최선을 다하고 있습니다.
이러한 문제 목록은 4.8 마일스톤에서 breaks compat 레이블이 붙은 병합된 PR(Pull Request)을 필터링하여 찾을 수 있습니다([https://github.com/godotengine/godot/issues?q=milestone%3A4.8%20is%3Amerged%20label%3A%22breaks%20compat%22]).
-
3D: 문서화되지 않은 스크립트의
enter_world콜백 제거 (GH-111504). -
애니메이션(Animation):
LookAtModifier3D.is_interpolating()값이 반전되는 문제 수정 (GH-121391). -
애니메이션(Animation): Bone Follower 클래스의 FTI를 기본값으로 비활성화하고 경고 추가 (GH-119509).
-
코어(Core): 릴리스 내보내기(release exports)에서 로컬 디버거를 사용하려고 할 때 실패하도록 수정 (GH-122213).
-
에디터(Editor): 에디터를 가로지르는 스크롤 힌트와 관련된 코너 케이스 수정 (GH-117080).
-
에디터(Editor):
ClassDB에서ScriptServer폴백 제거 (GH-123379). -
내보내기(Export):
PROPERTY_USAGE_STORAGE플래그가 없는 내보내기 옵션은 직렬화하지 않도록 수정 (GH-120721). -
GDScript: 스크립트가 자체 내부 클래스를 상속받는 것을 금지하도록 수정 (GH-121171).
-
GUI: 터치 입력에서 중복된 버튼 누름 이벤트 문제 수정 (GH-120864).
-
GUI: 다이얼로그 기본 제목 재작업 (GH-105550).
-
입력(Input): 새 프로젝트의 경우 포커스를 잃은 창에서 joypad를 기본적으로 무시하도록 수정 (GH-120399).
-
네트워크(Network): mbedTLS: 4.1.0으로 업데이트, PSA Crypto 적용 (GH-120725).
-
플랫폼(Platforms): Android:
OS.alert()를 블로킹(blocking)하도록 수정 (GH-120800). -
Rendering: ASTC 6x6 및 고품질 압축 프로파일 지원 추가 (GH-115003).
-
Rendering: Compatibility renderer의 스카이 셰이더
SCREEN_UV내장 변수 수정 (GH-121676). -
XR: OpenXR에서 적절한 공간 엔티티 NULL 상수 사용 (GH-121815).
3D
QbieShay가 Trail3D로 기능 요약(feature round-up)을 힘차게 시작합니다. GH-117107에서 소개되었고, Zi Ye의 Cozy Cube Godot Addons이 구축한 기반 위에서 작동하는 이 네이티브 솔루션은 트레일을 통해 멋진 시각 효과를 원하는 사용자들에게 메쉬가 어떻게 그려지는지, UV가 어떻게 할당되는지 등 복잡한 지식을 더 이상 요구하지 않습니다. 모든 것이 Just Works™합니다.
에디터 기능의 성격이 강하지만, Mikael Hermansson가 GH-117569에서 구현한 3D Viewport 오버라이드 기능은 이 섹션에서 주목할 만합니다. 새로운 에디터 옵션인 “Allow Viewport Override”(기본 활성화됨)를 통해, 특정 측면으로 설정된 뷰포버 위에 마우스를 올리면 현재 편집 중인 축이 해당 측면에 맞춰집니다.
그리고 더 많은 내용:
Core
Adam Johnston이 GH-98278을 통해 '퍼지 검색(Fuzzy searching)' 기능을 도입하여, 입력된 쿼리와 정확히 일치하는 결과만 반환하는 것이 아니라 유사한 매치를 포함하도록 검색 결과를 반환할 수 있게 했습니다. 이제 GH-107126을 통해 이 기능이 모든 사용자에게 사용할 준비가 완료되었습니다.
var items := ["Potion of Healing", "Greater Health Potion", "Poison Vial"]
var fuzzy := FuzzySearch.new()
for result in fuzzy.search_all("health potion", items):
...
var items := ["Potion of Healing", "Greater Health Potion", "Poison Vial"]
var fuzzy := FuzzySearch.new()
for result in fuzzy.search_all("health potion", items):
...
버전 관리를 사용하는 사용자들은 객체 직렬화(serialization)가 GH-92102부터 훨씬 더 깔끔해졌다는 소식에 기뻐할 것입니다. Robert Wallis는 이제 모든 객체가 과도한 diff를 유발하지 않도록 포맷되도록 보장합니다.
| Before | After |
|---|---|
![]() | ![]() |
그리고 더 많은 내용:
- Core: 텍스트 씬(text scenes)의 메타데이터 지원 추가 (GH-121920).
- Core:
Variant로부터의 암시적 변환을 대체하는Variant.to<Type>()도입 (GH-123600). - Core: 메인 스레드(main thread)가 하나만 가능하도록 변경하고 불필요한 해제를 하지 않도록 수정 (GH-121161).
- Core: 속성 맵(property maps)을
ClassDB에서GDType으로 이동.Object속성 접근 속도 1.6배 향상 (GH-122596). - Core: 모든 속성을 단일 통합 맵(unified map)에 저장하여
GDType단순화. 런타임 RAM 약 12MB 절약 (GH-122751). - Core: 여러 자식 노드(child nodes)를 제거하는 속도 향상 (GH-120942).
Documentation
Cyril Bissey가 GH-111375에서 노력한 바에 따라, 에디터 내 및 온라인 문서 모두에 어드모니션(admonitions)에 대한 네이티브 지원을 제공합니다. 즉, 많은 문서 도구들이 중요한 정보를 강조하기 위해 제공하는 빌트인 시스템입니다. 현재 시점의 저희 문서 도구들은 유사한 효과를 전달하기 위해 “Note:” 또는 “Warning:”과 같은 간단한 접두사를 사용하지만, 이 방식은 중요한 세부 정보가 나머지 텍스트와 뒤섞이게 만듭니다. 따라서 지금부터는 이러한 레거시 시스템을 대체하는 어드모니션 기능을 서서히 배포하기 시작할 것이며, 이는 아래에서 보시는 것과 유사하게 보이게 될 것입니다:
| Dark Mode | Light Mode |
|---|---|
![]() | ![]() |
Editor
Godot 4.6에서 EditorDock이 도입된 이후, Tomasz Chabora는 기존 에디터 플러그인들을 이 새로운 시스템으로 마이그레이션하는 여정을 계속해 왔습니다. 가장 야심 찬 마이그레이션은 GH-113051을 통해 이루어졌는데, 이는 _메인 화면 자체_를 도크로 변환합니다. 이는 에디터 처리 방식에 매우 근본적인 변화이지만, 즉시 얻을 수 있는 이점은 그만한 가치가 충분합니다.
이러한 변경의 결과로:
- 메인 화면 에디터들이 더 이상 특정 플러그인에 묶여 있지 않고, 일반적인
EditorDock이 되었습니다. - 메인 화면 도크는 탭 스타일을 위한 자체 에디터 설정을 갖게 되었습니다.
- 모든 메인 화면을 닫을 수 있게 되었습니다.
- 모든 메인 화면을 플로팅(float)할 수 있습니다.
- 예외는 Game이며, 커스텀 동작이 현재
WindowWrapper와 긴밀하게 통합되어 있기 때문입니다.
- 예외는 Game이며, 커스텀 동작이 현재
에디터의 새로운 구조를 보완하며, 다양한 메인 화면들을 위한 새롭고 개선된 툴바가 추가되었습니다. Jayden Sipe는 각각 GH-118664, GH-121080, GH-121065를 통해 Game, 2D, 3D 패널에 세 가지 환상적인 개편을 제공했습니다. 이 세 가지 모두 동일한 창의적 비전으로 주도되어 통일된 스타일을 보장하며, 이는 이전 구현 방식과 비교하여 사용성과 명확성을 크게 강조합니다.
| Before | After | |
|---|---|---|
| Game | ||
| ... | ||
| Mikael Hermansson은 GH-118634를 통해 씬 트리 에디터에서 가시성(visibility)을 드래그하여 토글하는 기능을 제공합니다. 이제 특정 노드의 가시성을 토글할 때, 새로 토글된 상태는 마우스를 그 위로 드래그하면 이후의 모든 노드에 적용될 수 있습니다. |
AI 자동 생성 콘텐츠
본 콘텐츠는 Godot Engine News의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기


