Godot4 テーマリソースのタブ内限定で同一のリソースを手軽に共有する手順

無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、複数の UI のデザインを設定・共有できる Theme (テーマ) リソースの中で、同じタブ内限定ですが、簡単に同一の StyleBox リソース複数項目共有して設定できたので、その方法とリソースパスによる確認結果を紹介します。

※ GodotEngine 4.3 を使用しています。.NET 版ではありません。

前回の記事

前回は、Godot Engine 4Theme (テーマ) リソースのボタンの背景画像の色味変更する手順と、Paint.NET画像を白黒にする手順を紹介しました。

ドラッグ&ドロップで同一リソースを複数項目に設定

あらかじめ「アイテムを上書き状態」にした後に▽ボタンで「新規 StyleBoxTexture」を選択して StyleBox 派生リソースを割り当てておいた項目の値の枠を、設定先の項目の値の枠にドラッグ&ドロップします。

この「新規 StyleBoxTexture」の割り当てについては以前の記事を参照してください。

ドラッグ&ドロップするには、設定先の項目「アイテムを上書き」状態にしておく必要があります。
その項目の+ボタンを押すことで「アイテムを上書き」状態にできます。

Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有2

以上で、タブ内限定で、同一リソースドラッグ&ドロップ複数の項目に設定できました。

Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有3

以下は、タブ内で、ドラッグ&ドロップを用いて同一リソースを複数の項目に設定している動画です。

Godot4 テーマリソースの同じタブ内の StyleBox リソースはドラッグ&ドロップで共有できます。

同一リソースが各項目で共有されていることをパスで確認

タブ内でドラッグ&ドロップにより、複数の項目に同一のリソースが割り当てられたことを、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

resource_path は、ドラッグ&ドロップの先と元の合計4つの項目、全て同じ「res://theme_retry_button.tres::StyleBoxTexture_sm776」でした。

以上で、同じタブ内でリソースをドラッグ&ドロップして設定することで、同一のリソースを簡単に複数項目で共有できることを確認できました。

Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有5

タブ内だけの共有に関する推測

作成した StyleBox 派生リソースは、最初はテーマリソース内で一意(ユニーク)な ID でそのリソースが管理されていて、ユニーク化によってプロジェクト内で一意なリソースに変わります。
※ resouce_path をインスペクターで見ると、保存後、末尾の ID のような文字列が変化しました。

このことから、タブ内だけではなく、テーマリソース内の別の UI のタブでもリソースを共有させられると思いますが、調べた範囲では、そのような操作は提供されていないため、現状、テーマエディタで行う操作では、タブ内限定だけこの簡易な設定方法が使えるようです。

リソースをユニーク化しているかどうかの間接的な確認方法

StyleBox 派生リソースがユニーク化しているかどうかは、ファイルに保存する際のダイアログの有無で間接的に確認できます。

▽ボタンのメニュー「名前を付けて保存」を選択すると、下図のように「このリソースは編集したシーンに属していないため保存できません。まずユニーク化してください。」というダイアログ表示され、ユニーク化していないリソースであることが確認できます。

Godot4 テーマ下パネルの同じタブ内限定で同一のStyleBoxリソースを共有1

タブの外側、他のテーマリソースなどで共有する手順

タブ内よりも広い範囲、プロジェクト全体で共有するために、 StyleBox 派生リソースをファイルに保存して、他のテーマリソースでも設定・共有できるようにする手順については、以下の記事を参照してください。

まとめ

無料・軽快な 2D / 3D 用のゲームエンジン Godot Engine 4 で、複数の UI のデザインを設定・共有できる Theme (テーマ) リソースの中で、同じタブ内限定ですが、簡単に同一の StyleBox リソース複数項目共有して設定できたので、その方法とリソースパスによる確認結果を紹介しました。

参照サイト Thank You!

記事一覧 → Compota-Soft-Press

コメント

Ads Blocker Image Powered by Code Help Pro

お願い - Ads Blocker Detected

このサイトは広告を掲載して運営しています。

ポップアップを閉じて閲覧できますが、よろしければ

このサイト内の広告を非表示にする拡張機能をオフにしていただけませんか?

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

タイトルとURLをコピーしました