過去数週間で330以上のコミットがマージされた大きな開発アップデートが戻ってきました!貢献者たちは素晴らしい新機能の開発を続け、私たちは4.3のカットオフに間に合わなかった重要な機能のバックログをマージし続けています。その結果、短期間に多くの素晴らしい機能が詰め込まれています。
このリリースの変更の多くはバグ修正で、Godot 4.3にバックポートされ、4.3.1としてリリースされる予定です!変更に自信を持ち、できるだけ早く4.3.1をリリースできるよう、このリリースをしっかりテストしてください。
各開発スナップショットが一般的なテストに十分安定するよう努めていますが、これは定義上プレリリース版のソフトウェアであることを覚えておいてください。破損やデータ損失の場合に備えて、頻繁にバックアップを取るか、Gitなどのバージョン管理システムを使用してプロジェクトを保存してください。
「ダウンロード」セクションに移動して今すぐ試すか、このリリースの改善点についてさらに詳しく読み進めてください。このリリースでは「ウェブエディタ」、「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 # With a callable (could also be a local function). @export_tool_button("Toot", "Callable") var print_action = print.bind("toot") # With a lambda. @export_tool_button("Randomize Color", "ColorRect") var color_action = func(): self_modulate = Color(randf(), randf(), randf())
シーン起動体験の改善に関する作業は、Hilderinの素晴らしい貢献のおかげで減速していません。この開発スナップショットでは、大規模プロジェクトのエディタ読み込み速度に大幅な改善が導入されています(GH-95678)。大規模プロジェクトでは、プロジェクトの読み込み時に最大3倍の速度向上が期待でき、ファイルシステムをスキャンする操作でも同様の高速化が見込めます。
この開発リリースでは、長い間待ち望まれていたマテリアルの頂点シェーディングオプションが再導入されました(GH-83360)。これは、Blender Geometry Nodesのエクスポートサポートに続いて、貢献者ywmaaがGodotに導入した2つ目の主要機能です。頂点シェーディングは主に初期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)。
マーカーを使用すると、アニメーション全体を再生せずにジャンプしたり、ループしたりできるアニメーションのサブ領域を作成できます。
マーカーはアニメーションツリー内でもサポートされており、ループや再生開始のためのアニメーションマーカーを簡単に選択できます。
詳細については、ChocolaMintによるGodotへの最初の貢献の一つであるプルリクエストGH-91765をチェックしてください!
以前は、GodotはmacOSとiOSデバイスでのみデバイスカメラへのアクセスをサポートしていました。pkowal1982の長期にわたるプルリクエストGH-53666がついにマージされ、Linuxプラットフォームのサポートが追加され、開発者がゲーム内から接続されたカメラにアクセスできるようになりました。
現在、Vulkan、D3D12、またはMetalをサポートしていないデバイスでForward+またはMobileバックエンドを使用してGodotを実行しようとすると、エンジンはユーザーに必要なグラフィックAPIのサポートがないことを通知し、互換性バックエンドで再試行する必要があるというOSアラートを表示します。このアラートはユーザーにとって混乱を招き、シーンを開くプロセスが面倒になっています。
SheepYhangCNによる最初の貢献であるGH-97142により、他のバックエンドが利用できない場合、エンジンは自動的に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 Foundationが管理するGodot Development Fundプラットフォームを使用してそうすることができます。また、より適切と思われるいくつかの代替的な寄付方法もあります。
Clay John
ここにも掲載
写真:Denys Nevozhai on Unsplash


