# \[カスタムアクション\] Bazノードプロパティ変更アクション

**URL:** <https://guild.rpgmakerofficial.com/t/topic/2122>\
**Category:** モジュール/プラグイン共有\
**Tags:** custom-action\
**Created:** [2026 年 7 月 3 日午後 5:00 UTC](https://guild.rpgmakerofficial.com/t/topic/2122 "2026-07-03T17:00:06Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Baz](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/baz/32/100_2.png) [@Baz](https://guild.rpgmakerofficial.com/u/Baz)\
**Post date:** [2026 年 7 月 3 日午後 5:00 UTC](https://guild.rpgmakerofficial.com/t/topic/2122/1 "2026-07-03T17:00:06Z")

</div>

変換済みの投稿です。ダッシュとセミコロンを削除し、複合語を分解しました。

* * *

### BazChangeNodePropertyAction

シーン内の任意のノード（AGMakerオブジェクトでないノードも含む）に、`modulate`、`visible`、`position`、`scale`、`text` といった実際の型を持つGodotプロパティを設定します。

これはネイティブの **Change Object Property** の欠けていた半分のようなものです。Game Scene内部のノードや、名前付きノードからノードを取得できます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/b/b36cce06c09fd077e847dcec3aad8266c602159b.png)

私の活動を支えるために、[パトロンになる](https://www.patreon.com/bazsupport)ことを検討してください。 🙏

**ダウンロード:**  
[BazChangeNodePropertyAction.gd](https://guild.rpgmakerofficial.com/uploads/short-url/sgJAXvSneetEDwkOY08QiIYx57h.gd) (34.8 KB)

#### 要件

AGMaker 1.3.0以上

#### インストール

1. `BazChangeNodePropertyAction.gd`（以下に添付）をダウンロードします。
2. プロジェクトの `custom_actions/` フォルダに配置します。そのフォルダが存在しない場合は、プロジェクトのルートに作成してください。 `custom_actions/object/` などのサブフォルダでも問題ありません。
3. これだけです。 **Add Action** ダイアログの **Object / オブジェクト** グループに表示されます。有効化などの追加操作は不要です。

#### 機能

AGMakerの浮動小数点のみを対象とするプロパティ変更を拡張し、プロパティが実際に必要とする `Color`、`Vector2`、`String`、`bool`、または数値といった_本来の_Godotプロパティとその_実際の型_で設定できるようにします。

- **任意の型付きプロパティ。** `modulate` (Color)、`position`/`scale` (Vector2)、`text` (String)、`visible`/`flip_h` (bool)、`z_index` (int)、`rotation` (float)。値の型を選択すると、そのままノードに書き込まれます。
- **単一チャンネル。** 特定の部分のみを変更するためにチャンネルを追加できます：`modulate:a` はアルファのみを設定し、`position:x` はX座標のみを設定します。チャンネルはFloat値を受け取るため、ベクトリ全体を作り直すことなく1つの軸のみを微調整できます。
- **3つのターゲット指定方法。** シーンから特定のノードを1つ選択するか、現在アクティブなシーン内で名前に一致する最初のノードを指定するか、グループの全メンバーを一度に変更するかを選択できます。
- **クラッシュ安全。** 書き込み前にプロパティの存在と値の適合性をチェックするため、タイプミスがあってもロジックが停止するのではなく、スキップされてログに記録されます。
- **エディタの利便性。** プロパティを選択または入力すると、型が既知の場合はValue Typeが自動入力されます（いつでも上書き可能）。Node Typeの **Browse All Classes…** エントリは、エディタ独自のAdd Nodeクラスツリーを開きます。
- **自己完結型で共有可能。** 1つのファイル、オートロードなし、Project Settings不要、管理すべき追加要素はありません。

#### 使用方法

ステートやトランジションに追加し、上部でノードのターゲット指定方法を選択してから、プロパティと値を選択します。

- **ターゲット指定** はノードの検索方法です。_Pick From Scene_ = シーンとそのノードの1つを選択し、そのシーンがアクティブな間のみ実行されます。_By Node Name_ = 現在アクティブなシーン内で、入力した名前の最初のノード。_In Group_ = 現在アクティブなシーン内のグループの全メンバー。
- **Target Scene / Target Node** _（Pick From Scene）_。シーン、その後ドロップダウンからノードを選択します。配置されたオブジェクト内部にアクセスするために、より深いパス（例：`SceneLayer/BaseLayer/Player/Sprite2D`）を手動で入力することもできます。
- **Node Search Name** _（By Node Name）_。検索する名前。`*` と `?` はワイルドカードとして機能します（`Torch*` は `Torch2` に一致）。
- **Node Type + Group** _（In Group）_。変更されるメンバーを持つグループ。Node Typeはオプションであり、Property Nameの提案を補完するためだけに使用されます。
- **Property Name** 。Godotのプロパティ名。例：`modulate`、または単一チャンネルの場合は `modulate:a`。
- **Value Type + value** 。値の種類（Float、Integer、Boolean、Text、Vector2、Color）とその値自体。一致する値のフィールドのみが表示されます。

例：画面全体のフェード。_In Group_ → `Lights` グループ → プロパティ `modulate:a` → Value Type `Float` → `0.0` と設定すると、部屋のすべてのライトを同時に暗くします。

#### ヒント

- **チャンネルはFloatのみ。** `modulate:a`、`position:x`、`scale:y` はすべてFloat値を受け取ります。これにより、他の軸を乱すことなく1つの軸のみをアニメーション化できます。
- **Pick From Scene は意図的にシーンゲートされています。** 選択したシーンがアクティブな間のみ発火するため、共有オブジェクトに同じアクションを配置しても、他の場所では静かに保たれます。
- **名前の命名規則。** 各部屋で同じノードに同じ名前（`AmbientLight`、`Music` など）を付けると、_By Node Name_ を使用して「現在の部屋のそれ」をシーンごとの設定なしで変更できます。
- **GameObjectの `visible` は抵抗します。** AGMakerはGameObject自身の `visible` を再設定するため、非表示にしてその状態を維持したい場合は、子ノードをターゲットにするか（または `modulate:a` を使用してください）。
- **Debugをオンにする** と、設定中にスキップされたもの（プロパティの欠落、型の不一致、シーンゲート）と一致するものがすべて出力され、Outputパネルに表示されます。
