我們帶來了另一個重大開發更新,在過去幾週內合併了超過330個提交!貢獻者們繼續開發令人驚嘆的新功能,同時我們繼續合併那些錯過4.3截止日期的重要功能積壓。綜合結果是在短時間內壓縮了大量優秀內容。
\ 本次發布中的許多更改都是錯誤修復,這些修復將被移植回Godot 4.3並在4.3.1中發布!因此請充分測試此版本,以便我們能對這些更改有信心,並盡快發布包含這些更改的4.3.1版本。
\ 請記住,雖然我們努力確保每個開發快照都足夠穩定以進行一般測試,但這本質上是一個預發布軟件。請確保經常備份,或使用版本控制系統(如Git),以防止項目在損壞或數據丟失的情況下受到保護。
\ 跳轉到下載部分,立即試用,或繼續閱讀以了解此版本的更多改進。您還可以嘗試此版本的Web編輯器、XR編輯器或Android編輯器(加入Android編輯器測試組以獲取預發布版本)。
原始封面插圖來自 Fogpiercer,這是一款回合制卡牌對戰遊戲,您的牌組就是一列火車!它由Mad Cookies Studio使用Godot 4.3開發。您可以在Steam上將遊戲加入願望清單,並在Twitter上關注開發者。
如果您錯過了,請查看4.4 dev 1和dev 2發布說明,了解一些已經在該快照中的關鍵功能概述,這些功能在dev 3中仍然可用於測試。
\ 以下是一些您可能會特別興奮的亮點!
\
@export_tool_button註解能夠從工具腳本在檢查器中創建按鈕是一個高度需求的功能,許多貢獻者自發地在GH-96290中實現了它:新貢獻者jordi-star和Macksaur,以及維護者Ernest和Danil!
\ 這個新功能允許您使用@tool腳本更加靈活地創建開發工具。
\ 讓我們看一個例子:
@tool extends Sprite2D # 使用可調用對象(也可以是本地函數)。 @export_tool_button("Toot", "Callable") var print_action = print.bind("toot") # 使用lambda。 @export_tool_button("Randomize Color", "ColorRect") var color_action = func(): self_modulate = Color(randf(), randf(), randf())
\
改進場景啟動體驗的工作並未放緩,這要感謝Hilderin的驚人貢獻。此開發快照為大型項目的編輯器加載速度帶來了巨大改進(GH-95678)。大型項目在加載項目時可以預期速度提高3倍,在執行任何掃描文件系統的操作時也有類似的加速。
此開發版本重新引入了期待已久的材質頂點著色選項(GH-83360),感謝貢獻者ywmaa在Godot中實現的第二個主要功能,繼Blender幾何節點的導出支持之後。頂點著色主要用於實現早期PSX風格並優化在較舊和低端設備上的性能。
\ 您可以在現有的StandardMaterial3D、ORMMaterial3D、ShaderMaterial中啟用頂點著色,或使用rendering/shading/overrides/force_vertex_shading項目設置在所有材質上強制啟用它。
\
在處理了早期快照中合併的Metal渲染後端後,Stuart又承擔了另一個令人印象深刻的渲染貢獻:2D批處理!
\ 自4.0發布以來,批處理已在兼容性渲染器中實現。此版本通過在使用Forward+和Mobile後端時實現批處理(GH-92797),為其他後端帶來了相同的性能優勢。現在所有後端的2D性能都可以相互比較。
\ 批處理是一種性能優化,可大幅減少場景中的繪製調用次數。批處理的好處在具有大量文本渲染或共享紋理的重複精靈的場景中特別明顯(例如使用瓦片地圖或製作彈幕遊戲時)。
\ 我們計劃對RD後端的批處理進行進一步改進,這應該使其比兼容性後端更快。請關注後續開發版本的更新!
表達式求值器在底部面板添加了一個新標籤,允許您在斷點處停止時使用腳本的本地狀態評估表達式。許多用戶熟悉這種來自其他REPL調試器的工作流程。
\ 這個功能已經開發了一段時間,最近完成並合併(GH-97647),感謝Oğuzhan、Erik和Tomek將其推向終點線。
用戶的一個常見抱怨是,他們需要在啟動遊戲後返回編輯器才能啟用分析器。這使得測量加載場景前幾秒的性能變得困難,對開發者來說總體上是一種麻煩。
\ Hendrik引入了一個複選框,允許您設置分析器在運行引擎時自動啟動並立即捕獲有價值的分析數據(GH-96759)。
標記允許您創建動畫的子區域,可以跳轉到這些區域,或者在不播放整個動畫的情況下循環播放。
\ 動畫樹內部也支持標記,您可以輕鬆選擇動畫標記進行循環或開始播放。
\ 有關更多詳情,請查看拉取請求GH-91765,這是ChocolaMint對Godot的首批貢獻之一!
以前,Godot只支持在macOS和iOS設備上訪問設備相機。pkowal1982長期運行的拉取請求GH-53666最終被合併,並添加了對Linux平台的支持,允許開發者從遊戲內部訪問連接的相機。
目前,當嘗試在不支持Vulkan、D3D12或Metal的設備上使用Forward+或Mobile後端運行Godot時,引擎會向用戶提供操作系統警報,通知他們不支持所需的圖形API,需要使用兼容性後端重試。這個警報對用戶來說已被證明是令人困惑的,打開場景的過程最終變得繁瑣。
\ 現在通過GH-97142,SheepYhangCN的首次貢獻,當其他後端不可用時,引擎將自動回退到使用OpenGL(兼容性後端)。這應該為舊設備的用戶提供最流暢的體驗。
\ 由於兼容性後端的外觀可能與其他後端不同,遊戲開發者可能不希望Godot自動回退。在這種情況下,他們可以禁用rendering/rendering_device/fallback_to_opengl3項目設置以避免回退,使用僅支持OpenGL的設備的用戶將收到硬件不受支持的通知。
這裡有太多令人興奮的變化無法一一列舉,但以下是精選:
136位貢獻者為這個新快照提交了332項改進。查看我們的互動式更新日誌,了解自上一個4.4-dev2快照以來的完整更改列表。
\ 此版本基於提交f4af8201b構建。
下載Godot 4.4 dev3
\ 標準版本包括對GDScript和GDExtension的支持。
\ .NET版本(標記為mono)包括對C#以及GDScript和GDExtension的支持。
\ 雖然引擎維護者盡最大努力確保每個預覽快照和候選版本都是穩定的,但這本質上是一個預發布軟件。請確保經常備份,或使用版本控制系統(如Git),以防止項目在損壞或數據丟失的情況下受到保護。
\ 每次發布我們都接受會有各種已報告但尚未修復的問題。請查看GitHub問題跟踪器以獲取已知錯誤的完整列表。
作為測試者,我們鼓勵您在遇到此版本的問題時提交錯誤報告。請先使用相關關鍵詞通過搜索功能檢查GitHub上的現有問題,以確保您遇到的錯誤尚未被發現。
\ 特別是,任何可能導致項目回歸的更改都非常重要,需要報告(例如,如果某些在以前的4.x版本中運行良好的功能,但在此快照中不再工作)。
Godot是一個非營利、開源的遊戲引擎,由數百名貢獻者在空閒時間開發,以及少數全職或兼職開發者,這些開發者得益於Godot社區的慷慨捐贈而被聘用。非常感謝每一位為項目貢獻時間或財務支持的人!
\ 如果您想在財務上支持該項目並幫助我們確保未來的招聘,您可以使用由Godot基金會管理的Godot開發基金平台。還有其他幾種您可能認為更合適的捐贈方式。
Clay John
\ 也發布於此處
\ 照片由Denys Nevozhai在Unsplash上提供


