無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、複数の UI のデザインを設定・共有できる Theme (テーマ) リソースの中で、同じタブ内限定ですが、簡単に同一の StyleBox リソースを複数項目に共有して設定できたので、その方法とリソースパスによる確認結果を紹介します。
![](https://compota-soft.work/wp1/wp-content/uploads/2024/09/GodotEngine4.3-公式サイトの一部-20240911.png)
※ GodotEngine 4.3 を使用しています。.NET 版ではありません。
前回の記事
前回は、Godot Engine 4 の Theme (テーマ) リソースのボタンの背景画像の色味を変更する手順と、Paint.NET で画像を白黒にする手順を紹介しました。
ドラッグ&ドロップで同一リソースを複数項目に設定
あらかじめ「アイテムを上書き状態」にした後に▽ボタンで「新規 StyleBoxTexture」を選択して StyleBox 派生リソースを割り当てておいた項目の値の枠を、設定先の項目の値の枠にドラッグ&ドロップします。
この「新規 StyleBoxTexture」の割り当てについては以前の記事を参照してください。
ドラッグ&ドロップするには、設定先の項目を「アイテムを上書き」状態にしておく必要があります。
その項目の+ボタンを押すことで「アイテムを上書き」状態にできます。
![Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有2](https://compota-soft.work/wp1/wp-content/uploads/2025/01/Godot4-テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有2.png)
以上で、タブ内限定で、同一リソースをドラッグ&ドロップで複数の項目に設定できました。
![Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有3](https://compota-soft.work/wp1/wp-content/uploads/2025/01/Godot4-テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有3.png)
以下は、タブ内で、ドラッグ&ドロップを用いて同一リソースを複数の項目に設定している動画です。
![Godot4 テーマリソースの同じタブ内の StyleBox リソースはドラッグ&ドロップで共有できます。](https://compota-soft.work/wp1/wp-content/uploads/2025/01/Godot4-テーマリソースの同じタブ内の-StyleBox-リソースはドラッグ&ドロップで共有できます。.gif)
同一リソースが各項目で共有されていることをパスで確認
タブ内でドラッグ&ドロップにより、複数の項目に同一のリソースが割り当てられたことを、resource_path で確認します。
The unique path to this resource. If it has been saved to disk, the value will be its filepath. If the resource is exclusively contained within a scene, the value will be the PackedScene‘s filepath, followed by a unique identifier.
Note: Setting this property manually may fail if a resource with the same path has already been previously loaded. If necessary, use take_over_path.
このリソースへの一意のパス。ディスクに保存されている場合、値はそのファイルパスになります。リソースがシーン内に排他的に含まれている場合、値は PackedScene のファイルパスの後に一意の識別子が続きます。 注: 同じパスを持つリソースがすでにロードされている場合、このプロパティを手動で設定すると失敗する可能性があります。必要に応じて、take_over_path を使用します。Resource — Godot Engine (4.x)の日本語のドキュメント #resource_path と Google 翻訳
Ctrl + S でプロジェクトを保存してから、同一の StyleBox 派生リソースを割り当てた枠をクリックして、インスペクタードックの Resource クラスの Resource セクションの Path プロパティ (resource_path) の値を確認しましょう。
![Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有4](https://compota-soft.work/wp1/wp-content/uploads/2025/01/Godot4-テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有4-1024x518.png)
resource_path は、ドラッグ&ドロップの先と元の合計4つの項目、全て同じ「res://theme_retry_button.tres::StyleBoxTexture_sm776」でした。
以上で、同じタブ内でリソースをドラッグ&ドロップして設定することで、同一のリソースを簡単に複数項目で共有できることを確認できました。
![Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有5](https://compota-soft.work/wp1/wp-content/uploads/2025/01/Godot4-テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有5-1024x527.png)
タブ内だけの共有に関する推測
作成した StyleBox 派生リソースは、最初はテーマリソース内で一意(ユニーク)な ID でそのリソースが管理されていて、ユニーク化によってプロジェクト内で一意なリソースに変わります。
※ resouce_path をインスペクターで見ると、保存後、末尾の ID のような文字列が変化しました。
このことから、タブ内だけではなく、テーマリソース内の別の UI のタブでもリソースを共有させられると思いますが、調べた範囲では、そのような操作は提供されていないため、現状、テーマエディタで行う操作では、タブ内限定だけこの簡易な設定方法が使えるようです。
リソースをユニーク化しているかどうかの間接的な確認方法
StyleBox 派生リソースがユニーク化しているかどうかは、ファイルに保存する際のダイアログの有無で間接的に確認できます。
▽ボタンのメニュー「名前を付けて保存」を選択すると、下図のように「このリソースは編集したシーンに属していないため保存できません。まずユニーク化してください。」というダイアログが表示され、ユニーク化していないリソースであることが確認できます。
![Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有1](https://compota-soft.work/wp1/wp-content/uploads/2025/01/Godot4-テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有1-1024x513.png)
タブの外側、他のテーマリソースなどで共有する手順
タブ内よりも広い範囲、プロジェクト全体で共有するために、 StyleBox 派生リソースをファイルに保存して、他のテーマリソースでも設定・共有できるようにする手順については、以下の記事を参照してください。
まとめ
無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、複数の UI のデザインを設定・共有できる Theme (テーマ) リソースの中で、同じタブ内限定ですが、簡単に同一の StyleBox リソースを複数項目に共有して設定できたので、その方法とリソースパスによる確認結果を紹介しました。
参照サイト Thank You!
- Godot Engine – Free and open source 2D and 3D game engine
- Xユーザーのビッグカツといか姿フライのすぐる【公式】さん: 「使いどころは思いつきませんが、フリー素材としてどうぞご自由にお使いくださいませ! https://t.co/8F9q3hS02b」 / X
- しょかきうたげ【フリーフォント版あり】 – ぼんのう堂 – BOOTH
- Paint.NET – Free Software for Digital Photo Editing
- Label — Godot Engine (4.x)の日本語のドキュメント
- Button — Godot Engine (stable) documentation in English
- Theme — Godot Engine (4.x)の日本語のドキュメント
- StyleBox — Godot Engine (4.x)の日本語のドキュメント
- StyleBoxTexture — Godot Engine (4.x)の日本語のドキュメント
- Using the theme editor — Godot Engine (stable) documentation in English
- Resource — Godot Engine (4.x)の日本語のドキュメント #resource_path
記事一覧 → Compota-Soft-Press
コメント