# ステート

ステートの編集方法について説明します。

## ステートの作成

- ノードを作成したいグラフの位置を右クリック
- メニューの”ステート作成”を選択
- ステートの名前を入力し、Enterキーで決定。

## 常駐ステートの作成

- ノードを作成したいグラフの位置を右クリック
- メニューの”常駐ステート作成”を選択
- ステートの名前を入力し、Enterキーで決定。

## ステートの削除

- 削除したいノードを選択
- グラフ内の右クリックメニューから”削除”を選択、もしくはDeleteキーを押す

## 開始ステートに設定

- ノードヘッダ部の歯車アイコンをクリックするかヘッダ部を右クリック
- 「開始ステートに設定」を選択。

## 挙動追加

ステートを動作させるためには、StateBehaviourを追加する必要があります。

- ノードヘッダ部の歯車アイコンをクリックするかヘッダ部を右クリック
- “挙動追加”を選択
- StateBehaviour選択メニューから追加したいStateBehaviourを選択。

選択メニューの詳細は挙動選択ウィンドウを参照してください。

## 挙動挿入

StateBehaviourを任意の位置に挿入するには、「挙動挿入」ボタンから追加します。

- ステートの挙動間のセパレータの中央付近をマウスオーバーする。
- 表示された「挙動挿入」ボタンをクリック。
- 「挙動追加」を選択
- StateBehaviour選択メニューから追加したいStateBehaviourを選択。

## 挙動のドラッグ

### 移動

StateBehaviourをドラッグ＆ドロップすることで、挙動の順番の入れ替えや他ノードへの移動ができます。

- 挙動のタイトルバーをドラッグ
- 同じノードの他の位置や他のノードへドロップ

### コピー

Ctrl(Win) / option (Mac)を押しながらドラッグ＆ドロップするとコピーになります。

- 挙動のタイトルバーをドラッグ
- Ctrl(Win) / option (Mac)を押しながら、同じノードの他の位置や他のノードへドロップ

## 挙動の削除

- StateBehaviourのタイトルバーの歯車アイコンをクリックするかタイトルバー部を右クリック
- メニューの”削除”を選択

## 挙動のプリセット

Unityのプリセット機能が使用できます。
(Unity 2018.1以降対応)

### プリセットの保存

- StateBehaviourのタイトルバーのプリセットアイコンをクリック
- Select Presetウィンドウで"Save current to…“ボタンをクリック
- 名前を付けて保存

### プリセットを適用

- StateBehaviourのタイトルバーのプリセットアイコンをクリック
- Select Presetウィンドウで適用したいプリセットを選択

## ステートの接続

### 既存ノードへの接続

- StateBehaviourのStateLinkフィールドをドラッグ
- 接続先のステートにドロップ

### 接続先をノードリストで選択

- StateBehaviourのStateLinkフィールドをドラッグ
- グラフの何もないところでドロップ
- メニューの"ノードリスト選択"を選択
- ノードリストで接続先のステートを選択

### ステートを新規作成して接続

- StateBehaviourのStateLinkフィールドをドラッグ
- ステートを作成したいグラフ内の位置でドロップ
- メニューの”ステート作成”を選択
- ステートの名前を入力し、Enterキーで決定。

## ステートの接続を切断

- 接続を切断したい接続ライン上を右クリック
- メニューの”切断”を選択

## StateLinkの設定

StateLinkの歯車アイコンをクリックすると設定ウィンドウが表示されます。

項目 | 内容
--- | ---
Name | StateLinkの名前。 入力するとStateLinkフィールドの表示名が変更される。
Transition Timing | 遷移タイミングの設定。
Line Color | 接続ラインの色

### TransitionTiming

項目 | 内容
--- | ---
Late Update Overwrite | LateUpdate時に遷移するよう予約する。 同フレーム内で既に遷移予約されている場合は上書きする。
Immediate | 遷移呼び出し時に瞬時に遷移する。 遷移がループしている場合、無限ループする可能性もあるので使用には注意すること。
Late Update Dont Overwrite | LateUpdate時に遷移するよう予約する。(デフォルト) 同フレーム内で既に遷移予約されている場合は上書きしない。

## スクリプティング

スクリプトによるカスタマイズについてはこちらを参照してください

スクリプティング : StateBehaviour