# Behaviour（ビヘイビア）

{% hint style="info" %}
[**Plant**](https://docs.sandbox.game/jp/creators/game-maker/document/components/plant)、[**Button**](https://docs.sandbox.game/jp/creators/game-maker/document/components/button)、[**Light**](https://docs.sandbox.game/jp/creators/game-maker/document/components/light)、[**VFX**](https://docs.sandbox.game/jp/creators/game-maker/document/components/rarity-vfx) のビヘイビアは**Game Maker 0.10** では**コンポーネント**になり、よりインタラクティブな使い方ができるようになりました。
{% endhint %}

## ビヘイビアについて

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgiHh4vdwujPCB75QIX%2F-MgiLjkxfYFDMi7M_ZkN%2FGMA_GitBook_Behaviour_Heading_02.png?alt=media&#x26;token=4c4fef7d-21ee-43ed-9432-99333a08a1d0" alt=""><figcaption><p>それぞれのオブジェクトに1つのビヘイビアを付けることができます。</p></figcaption></figure>

ビヘイビアはアクションの特性やオブジェクトにアイデンティティのタグを設定できるロジックを指し、体験でどのように機能するか、また他のオブジェクトからどのように検知されるかを制御できます。

{% hint style="info" %}
**オブジェクトロジック**

**ビヘイビア**はオブジェクトか体験のアクションに関連し、オブジェクトには**1 つだけ**ビヘイビアを設定できます。

**コンポーネント**はプレイヤーのアクションに関連し、オブジェクトにはそれぞれの種類のコンポーネントを**一つづつ**設定できます。
{% endhint %}

ビヘイビアを使用するとオブジェクト間でダイナミックなインタラクションを手早く制作したり、カスタマイズ可能な様々なパラメーターを使ってユニークなゲームプレイを制作できます。プログラミングの知識は必要ありません。

**例：**

[**Healer（ヒーラー）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/healer)が体力が必要な特定のタグを持っているオブジェクトを追いかけて回復させる。

[**Melee Enemy（近接エネミー）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/melee-enemy)が特定のタグを持ったオブジェクトを追いかけて攻撃する。

[**Predator（捕食者）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/predator)が餌として認識したものを追いかけ攻撃し、[**Prey（獲物）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/prey)は捕食者から逃げ、餌として[**Plant（植物）**](https://docs.sandbox.game/jp/creators/game-maker/document/components/plant)を探す。

プレイヤーがインタラクションを起こすと、[**Door（ドア）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/door)が開く[**Button（ボタン）**](https://docs.sandbox.game/jp/creators/game-maker/document/components/button)を設置する。

[**Timed Events（制限時間付きイベント）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/timed-events)が[**Weather Switcher（天気変更）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/weather-switcher)をトリガーして、プリセットのサイクルかプレイヤーのアクションに応じて一日の時間、空の色、雲、星などを変更する。

## ビヘイビアの種類に合わせた一般的な使用用途

以下のタブではビヘイビアがどのように使用されるかによってグループ分けされています。（[**Farmer のビヘイビア**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/farmer)はゲーム内でランダムに他のオブジェクトを削除してしまう場合があります。）ビヘイビアを使ってできることをクリエイティブに想像し、カスタムなインタラクティブプレイを制作しましょう。

{% hint style="success" %}
複数のオブジェクトを選択して同じパラメーターを同時に変更できます。
{% endhint %}

{% hint style="success" %}
CTRL+D を使ってカスタムオブジェクトやオブジェクトのグループを複製できます。オブジェクトを繰り返し使用してゲームを制作する場合やライブゲームプレイ中にスポーンさせたい時には[**プリセット**](https://docs.sandbox.game/jp/creators/game-maker/build-menus/side-bar#presets)を作成します。
{% endhint %}

**ビヘイビアが設定されていない場合**：オブジェクトはプロップである場合があります。[**コンポーネント**](https://docs.sandbox.game/jp/creators/game-maker/document/components)が設定されているとオブジェクトはインタラクティブに動かせる可能性があります。

{% tabs %}
{% tab title="アーキタイプ" %}

### NPC

NPC は通常は人や生き物などであることが多く、オブジェクトにNPC のビヘイビアを設定すると、インタラクティブな動きが作成できるようなプロパティが含まれています：

* :label: 他のオブジェクトが検知できるようなアイデンティティのタグ
* :dart: 近くのオブジェクトを検知して、それに反応（逃げる、攻撃する、回復させsる、餌、収集するなど）するタグ

オブジェクトのタグを変更したり、ビヘイビアがカスタムインタラクションを検知できるように設定してあるタグを変更します。

### ビヘイビア

[**Citizen（住人）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/citizen)：非攻撃的な歩くNPC で、*Hostile* のタグがあるものからは逃げるデフォルト設定になっています。

[**Farmer（農民）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/farmer)：非攻撃的な歩くNPC で、*Plant* のタグを持っている植物を植え、*Hostile* のタグがあるものからは逃げるデフォルト設定になっています。

[**Melee Enemy（近接エネミー）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/melee-enemy)：*Avatar* のタグを持っているものを追いかけ攻撃するのがデフォルト設定になっています。デフォルトで*Hostile* のタグが設定されています。

[**Healer（ヒーラー）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/healer)：体力を回復させてくれます。*Hostile* のタグを持ったものからは逃げ、*Friendly* や*Avatar* のタグを持つものを探すのがデフォルト設定になっています。

[**Plant（植物）**](https://docs.sandbox.game/jp/creators/game-maker/document/components/plant)：Prey とFarmer はデフォルトで設定されている*Plant* のタグを探します。Killed の状態になっても死亡に関するビジュアルエフェクトは表示されません。

[**Predator（捕食者）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/predator)：*Prey* と*Avatar* のタグを持つものを追いかけ、攻撃します。デフォルトで*Hostile* のタグを持っています。

[**Prey（獲物）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/prey)：*Plant* のタグを持って*Hostile* のタグからは逃げるデフォルト設定になっている非攻撃的な歩くオブジェクトです。

[**Soldier（兵士）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/soldier)：攻撃されたり、*Hostile* のタグを検知すると攻撃する非攻撃的な歩くオブジェクトです。

{% hint style="info" %}
**カスタムインタラクション**

**例：**

:crossed\_swords: 兵士を攻撃する敵を作成する場合

敵に[**Melee Enemy のビヘイビア**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/melee-enemy)を設定し、**Tags to Attack** を*Soldier* に設定します。[**Soldier のビヘイビア**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/soldier)をオブジェクトに設定します、（*Soldier* のタグを含めるのを忘れないようにしてください。）

:wastebasket: Create volunteers to remove garbage. Apply **Farmer** behaviour with **Gathering Tags** set as *Trash*. Apply **Plant** behaviour to various objects, adding the **Tag** *Trash*.

ゴミを拾うボランティアの人々を作成する場合

ボランティアの人々に[**Farmer のビヘイビア**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/farmer)を設定し、**Gathering Tags** を*Trash* に設定します。**Tag** に*Trash* を追加して、様々なオブジェクトに[**Plant のビヘイビア**](https://docs.sandbox.game/jp/creators/game-maker/document/components/plant)を設定します。

<br>
{% endhint %}
{% endtab %}

{% tab title="管理" %}

### 体験の管理

[**Animated Decoration（アニメーション）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/animated-decoration)：指定されたアニメーションを再生し、メッセージを表示します。

[**Actor Property Switcher（アクタープロパティスイッチャー）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/actor-property-switcher)：プレイ中にレンジ内のオブジェクトの物理的設定を変更します。

[**Message Broadcaster（メッセージブロードキャスター）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/message-broadcaster)：メッセージの送信方法を正確に制御し、永遠に繰り返す設定ができます。

[**Timed Events（制限時間付きイベント）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/timed-events)：親のタイマーやサブイベントのタイマーなどの直線的なロジックがループした後にメッセージを送信します。
{% endtab %}

{% tab title="エンゲージメント" %}

### プレイヤーのエンゲージメント

[**Asker（質問者）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/asker)：ポップアップボックスが表示され、それぞれが異なるメッセージを送信する4つの回答オプションがある質問が表示されます。

[**Button（ボタン）**](https://docs.sandbox.game/jp/creators/game-maker/document/components/button)：インタラクションがあるとメッセージを送信します。

[**Crowd Event（グループイベント）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/crowd-event)：協力して目標に到達するとエモートやメッセージ、成功/失敗のメッセージが表示されます。

{% hint style="danger" %}
**ストリーミングに関連するビヘイビア**

動画やオーディオストリーミングのビヘイビアへのカスタムコンテンツのアップロードは現時点ではThe Sandbox と指定のパートナーに限定されています。一般使用に向けて現在開発中です。
{% endhint %}
{% endtab %}

{% tab title="アンビエンス" %}

### 体験のアンビエンス

[**Post Process Effects（ポストプロセスエフェクト）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/post-process-effects)：カメラを通じてビジュアルを変えることができ、様々なエフェクトをカスタマイズできます。

[**Weather Switcher（天気変更）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/weather-switcher)：周囲のアンビエンスを変更できます。（月、星、雲など）
{% endtab %}

{% tab title="追加 / 削除" %}

### ブロック、アセット、アバターの追加や削除

[**Asset Spawner（アセットスポナー）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/asset-spawner)：指定されたアセットをスポーンします。

[**Replace Asset（アセットの交換）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/replace-asset)：アセットを異なるアセットに入れ替えます。

[**Multi（マルチ）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/multi)：オブジェクトの周りの設定された空間（3x3 またはそれ以上）に指定されたブロックをスポーンします。

[**Void（空間）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/void)：設定された空間内にある指定されたブロック、アセット、アバターを破壊します。
{% endtab %}

{% tab title="モーション" %}

### モーションベース

[**Bird（鳥）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/bird)：円を描きながら時計回りに旋回します。高さや横幅のレンジを使って動きをカスタマイズできます。

[**Basic Platform（ベーシックプラットフォーム）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/basic-platform)：様々な方向に前後して移動でき、動いている方向を向くことができます。

[**Door（ドア）**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/door)：ドアのアニメーションを再生し、ドアに入ることができます。90度回転し、元のピボットポイントに戻ります。
{% endtab %}
{% endtabs %}

## ビヘイビアをオブジェクトに追加する

オブジェクトのアクションを制御するためにビヘイビアを1 つ設定することができます。[**コンポーネント**](https://docs.sandbox.game/jp/creators/game-maker/document/components)はオブジェクトに複数設定することができ、よりインタラクティブなオブジェクトを制作できます。

{% tabs %}
{% tab title="1. オブジェクトの選択" %}

1. 左クリックでオブジェクトを選択します。選択後、プロパティパネルが画面右上に開きます。

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MghmZ1IXv8Cdqn0OxcG%2F-MgiAl9n-oTYgK1IV3MK%2FBehaviour_Properties_Panel_02.png?alt=media&#x26;token=e6fa4780-cb41-4a41-814b-9b8040cd9e2e" alt=""><figcaption><p>オブジェクトをクリックしてプロパティパネルを開きます。</p></figcaption></figure>
{% endtab %}

{% tab title="2. ビヘイビアのウィンドウを開く" %}
2\. **Attributes**（特性）の下に、Behaviour と書かれた欄があり、**NONE** もしくは現在設定されているビヘイビアが表示されます。

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MghmZ1IXv8Cdqn0OxcG%2F-MgiCX6SUoinz26mTx5r%2FBehaviour_Properties_Panel_01.png?alt=media&#x26;token=4e0950a9-0df8-4a52-9410-3bfef2203fbe" alt=""><figcaption><p>ビヘイビアに関する詳細はプロパティパネルのAttribute の下に表示されます。</p></figcaption></figure>
{% endtab %}

{% tab title="3. ビヘイビアの選択" %}
3\. **SELECT BEHAVIOUR**（ビヘイビアの選択）のポップアップが表示され、使用可能な選択肢が表示されます。以下では**Soldier** のビヘイビアを選択します。\
\
**SELECT BEHAVIOUR** を閉じると選択したビヘイビアがデフォルト設定のまま**プロパティパネル**に表示されていることを確認してください。

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgiHh4vdwujPCB75QIX%2F-MgiP20SGCe73syI1QvB%2FProperties_Behaviour_01.png?alt=media&#x26;token=75a0e299-7f6b-4b07-bbdd-6fd99fdc3e5c" alt=""><figcaption><p>選択したビヘイビアがプロパティパネル内のオブジェクトに追加されます。l.</p></figcaption></figure>

**Soldier** のビヘイビアでは以下を含むデフォルトのロジックが追加されています。

* エンティティの**Patrol Zone**（パトロールゾーン）
* **Walk Speed**（歩行速度）、**Run Speed**（走行速度）、**Attack Damage**（攻撃ダメージ）、**Attack Speed**（攻撃スピード）
* **Tag to Attack** は*Hostile* に設定
* [**Health のコンポーネント**](https://docs.sandbox.game/jp/creators/game-maker/document/components/health)では兵士が攻撃されてダメージを受ける設定が可能
* Tags（タグ）には他のオブジェクトがあるビヘイビアを持ったオブジェクトを検知できるようにタグを入力します。

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgiPRVS0ccLVZqzfK0e%2F-MgiZ_K32f77g_XUUL1L%2FBehaviour_Variables_01.png?alt=media&#x26;token=dccea6cf-0905-44c9-8d79-2db18596b575" alt=""><figcaption><p>プロパティパネルではオブジェクトのビヘイビア、コンポーネント、タグを編集できます。</p></figcaption></figure>
{% endtab %}

{% tab title="4. カスタマイズ" %}
4\. **EDIT LOGIC** のボタンをクリックして、オブジェクトに設定されているすべての[**ビヘイビアとコンポーネントのすべてのパラメーター**](https://docs.sandbox.game/jp/creators/game-maker/document/using-assets-and-objects/behavior-and-component-parameters)を表示させます。\
\
表示された画面では体験でのオブジェクトの機能の仕方を確認したり、**Walk Speed**、**Tags to Attack**、**Message sent on death** などのパラメーターをカスタマイズできます。\
\
オブジェクトのプロパティの一番下までスクロールしてアイデンティティタグを変更し、ゲームメカニクスに応じてオブジェクトが検知されるように設定できます。\
\
**TAB** キーを使ってプレイモードのOn/Off を切り替えてロジックをテストすることをお勧めします。

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgiZswabEj2ewWynH9x%2F-MgjFdx2c9JMSHuoDXnd%2FBehaviour_Edit_Logic_01.png?alt=media&#x26;token=a32b644c-fc63-4e89-8913-1a0ed80cf767" alt=""><figcaption><p><strong>EDIT LOGIC</strong> をクリックしてオブジェクトのビヘイビアやコンポーネントをチェックしたりカスタマイズできます。nents</p></figcaption></figure>

プロパティパネルのデフォルト表示に戻る時には一番上のLOGIC の隣に表示されている**X** をクリックします、設定はそのまま残り、消えることはありません。

<br>

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgcmwPFPQHMO32UkIOJ%2F-MgdVmxBA_7-4jzcCjkr%2FExit_Edit_Logic_01.png?alt=media&#x26;token=7a99343a-bff0-48e2-b5bf-fdc2b9c3bd1a" alt=""><figcaption><p>左上の<strong>X</strong> をクリックしてデフォルトのプロパティパネルに戻ります。</p></figcaption></figure>
{% endtab %}
{% endtabs %}
