# Components（コンポーネント）

## コンポーネントについて <a href="#getting-acquainted-with-components" id="getting-acquainted-with-components"></a>

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgcmwPFPQHMO32UkIOJ%2F-Mgcv5Uv8RXzh8u25fzx%2FGMA_GitBook_How%20to%20Set%20Components_Headings_01.png?alt=media&#x26;token=b11caa29-c62e-4b52-b48a-1c171bb40464" alt=""><figcaption><p>オブジェクトに様々なコンポーネントを付けることができます。</p></figcaption></figure>

コンポーネントを使うとオブジェクトにインタラクティブな特徴を追加でき、プレイヤーのアクションがオブジェクトに直接または間接的に影響を与える設定ができます。

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

[**ビヘイビア**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior)はオブジェクトか体験のアクションに関連し、オブジェクトには1つのビヘイビアを設定できます。

[**コンポーネント**](https://docs.sandbox.game/jp/creators/game-maker/document/components)はプレイヤーのアクションに関連し、オブジェクトにはそれぞれの種類のコンポーネントを一つづつ設定できます。
{% endhint %}

カスタムメカニクス用に変更できる様々なパラメーターがあるコンポーネントを使うとプレイヤーとオブジェクトの間のインタラクションを手早く制作できるようになります。プログラミングの知識や経験が無くてもゲーム制作ができます。

**例：**\
[**Climbable** ](https://docs.sandbox.game/jp/creators/game-maker/document/components/climbable)のコンポーネントをオブジェクトに設定するとプレイヤーは離れた場所に行くことができます。

[**Health**](https://docs.sandbox.game/jp/creators/game-maker/document/components/health) のコンポーネントを持っている敵を倒すことができます。[**Drop** ](https://docs.sandbox.game/jp/creators/game-maker/document/components/drop)のコンポーネントを追加すると、倒した時にルートをスポーンできます。

[**Collectable**](https://docs.sandbox.game/jp/creators/game-maker/document/components/collectable) のコンポーネントを持つオブジェクトはサウンドを再生したりメッセージを送信できます。同じ場所に配置してあるロジックアクターが収集したメッセージによって有効になった[**Vixual FX**](https://docs.sandbox.game/jp/creators/game-maker/document/components/visual-fx) のコンポーネントを持っている場合、ビジュアルが変化して表示されます。

## おすすめの使い方とコンポーネントの種類

以下のタブではコンポーネントがどのように使用されるかによってグループ分けされています。（[**Health**](https://docs.sandbox.game/jp/creators/game-maker/document/components/health) のコンポーネントはオブジェクトを破壊しますが、生きているものだけではなく様々なものに使用できます。）コンポーネントを使ってできることをクリエイティブに想像し、カスタムなゲームメカニクスを制作しましょう。

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

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

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

{% tabs %}
{% tab title="管理" %}

### 体験の管理

[**Indicator**](https://docs.sandbox.game/jp/creators/game-maker/document/components/indicator)：クエストのアイコン、距離、オブジェクトの上部に表示されるテキストなど、プレイヤーをガイドします。

[**Speaker**](https://docs.sandbox.game/jp/creators/game-maker/document/components/speaker)：タグを検知してメッセージを送信したり、オブジェクトとの上部に表示されるテキストボックスを作成したりします。

[**Toggle**](https://docs.sandbox.game/jp/creators/game-maker/document/components/toggle)：オブジェクトのビヘイビアの切替をOn/Off で制御します。

[**Defeat**](https://docs.sandbox.game/jp/creators/game-maker/document/components/defeat)：トリガーされると体験は即終了します。

[**Victory**](https://docs.sandbox.game/jp/creators/game-maker/document/components/victory)：トリガーされると体験は即終了します。

[**Plant**](https://docs.sandbox.game/jp/creators/game-maker/document/components/plant)：[**Prey**](https://docs.sandbox.game/jp/creators/game-maker/document/behavior/prey) が食べられるようにオブジェクトを植物であると特定したり、アニメーションなしでオブジェクトを破壊します。
{% endtab %}

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

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

[**Button**](https://docs.sandbox.game/jp/creators/game-maker/document/components/button)：ボタンを押すことでターゲットにメッセージを送り、結果を導きだします。

[**Collectable**](https://docs.sandbox.game/jp/creators/game-maker/document/components/collectable)：プレイヤーのインベントリにアセットを追加したり、メッセージを送信したり、サウンドを再生します。

[**Drop**](https://docs.sandbox.game/jp/creators/game-maker/document/components/drop)：オブジェクトとインタラクションを行ったり、破壊すると指定されたアイテムをスポーンします。（ルートなど）

[**Health**](https://docs.sandbox.game/jp/creators/game-maker/document/components/health)：オブジェクトを破壊可能にします。死亡した後に遅れてメッセージを送信できます。
{% endtab %}

{% tab title="物理的要素" %}

### 物理的要素を元にしたコンポーネント

[**Climbable**](https://docs.sandbox.game/jp/creators/game-maker/document/components/climbable)：プレイヤーはオブジェクトに登ったり、オブジェクトから降りたりできます。

[**Pickable**](https://docs.sandbox.game/jp/creators/game-maker/document/components/pickable)：プレイヤーはオブジェクトを拾ったり、動かしたり、配置したりできます。持っている間に取られることはありません。

[**Slide**](https://docs.sandbox.game/jp/creators/game-maker/document/components/slide)：歩く代わりにオブジェクトの表面をスライドできます。
{% endtab %}

{% tab title="アンビエンス / メディア" %}

### 体験のアンビエンス / メディア

[**Image Display**](https://docs.sandbox.game/jp/creators/game-maker/document/components/image-display)：[**フレームアセット**](https://docs.sandbox.game/jp/creators/voxedit/creative-guide/asset-guide/frame-assets)に既成のイメージを表示します。

[**NFT Image Display**](https://docs.sandbox.game/jp/creators/game-maker/document/components/nft-image-display)：[**フレームアセット**](https://docs.sandbox.game/jp/creators/voxedit/creative-guide/asset-guide/frame-assets)上にウォレットにある2D Ethereum のNFT イメージを表示します。

[**NFT Details Display**](https://docs.sandbox.game/jp/creators/game-maker/document/components/nft-details-display)：NFT に関する情報とマーケットプレイスのリンクを表示するポップアップウィンドウを開きます。

[**Play Sound**](https://docs.sandbox.game/jp/creators/game-maker/document/components/play-sound)：レンジ内または全体に既成のサウンドエフェクトを再生します。

[**Rarity VFX**](https://docs.sandbox.game/jp/creators/game-maker/document/components/rarity-vfx)：オブジェクトのレアリティの色のライトや火花の柱を表示します。

[**Visual FX**](https://docs.sandbox.game/jp/creators/game-maker/document/components/visual-fx)：様々なオプションからカスタマイズ可能なビジュアルエフェクトを再生します。

[**Light**](https://docs.sandbox.game/jp/creators/game-maker/document/components/light)：カスタムカラーやカラーの遷移を使ってオブジェクトからポイントライトやスポットライトを放射することができます。
{% endtab %}
{% endtabs %}

## オブジェクトへのコンポーネントの追加方法 <a href="#adding-components-to-objects" id="adding-components-to-objects"></a>

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

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgcmwPFPQHMO32UkIOJ%2F-MgdfI1iwtM1wk6v3xX_%2FMultiple_Components_03.png?alt=media&#x26;token=4dd8cad0-4f18-4a1e-8dde-bae7a99c7c48" alt="" width="563"><figcaption></figcaption></figure>

{% 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\. **Behaviour** の下にある**Components** の欄にある**Add Component** をクリックします。既にコンポーネントが設定されている場合はこの欄の下にそのコンポーネントが表示されます。

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgcmwPFPQHMO32UkIOJ%2F-MgdKIv94ZsaReA8uhgg%2FProperties_Panel_01.png?alt=media&#x26;token=4faaf7bc-102c-4d35-9ad9-f3e3d6faac7d" alt=""><figcaption><p>コンポーネントの詳細はプロパティパネル内のBehaviour の欄の下に表示されます。</p></figcaption></figure>
{% endtab %}

{% tab title="3. コンポーネントの選択" %}
3\. **SELECT COMPONENT** のポップアップが表示され、そこに使用可能な選択肢が表示されます。以下では**Indicator** のコンポーネントを選択します。\
\
**SELECT COMPONENT** のウィンドウが閉じ、選択したコンポーネントがデフォルト設定とともに**プロパティパネル**に表示されます。

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgcmwPFPQHMO32UkIOJ%2F-MgdMLZN8zYobOFH-KhI%2FSelect_Components_01.png?alt=media&#x26;token=6b5ff908-4ce0-46cf-8c26-8449e13c9362" alt=""><figcaption><p>選択したコンポーネントはプロパティパネル内のオブジェクトに追加されます。</p></figcaption></figure>

ここで例として挙げている**Indicator** のコンポーネントにはデフォルトのロジックが自動的に追加されています。オブジェクトから離れている場合、プレイモードではラベルとしてオブジェクトの名前や明視距離がメートルで表示されます。このコンポーネントはクエストにリンクしており、プレイヤーをガイドする目的でアイコンやテキストを使ってゲーム内のオブジェクトに印をつけるために使用することもできます。
{% endtab %}

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

<figure><img src="https://4251931498-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MgcmwPFPQHMO32UkIOJ%2F-MgdTx6J2ubdA_d378z6%2FComponents_Edit_Logic_01.png?alt=media&#x26;token=f7611bd3-dd74-48b6-bebe-ef85a03169a5" alt=""><figcaption><p><strong>EDIT LOGIC</strong> をクリックしてオブジェクトのビヘイビアやコンポーネントをチェックしたりカスタマイズできます。</p></figcaption></figure>

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

<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>ｘ</strong>をクリックしてデフォルトのプロパティパネルに戻ります。</p></figcaption></figure>
{% endtab %}
{% endtabs %}
