ParameterContainer
ParameterContainerはグラフ間でのデータ共有などを行うために使用するコンポーネントです。
GameObjectにParameterContainerを追加し、各種ある型のパラメータを設定します。
ParameterContainerの追加
GameObjectの作成
HierarchyのCreateボタンをクリックするか右クリックしたメニューの「Create」から、
「Arbor > ParameterContainer」を選択すると、ParameterContainerが追加された状態のGameObjectが作成できます。
GameObjectに追加
- 適用したいGameObjectを選択。
- 「メニュー > Component > Arbor > ParameterContainer」を選択 。
- あるいはInspectorの「Add Componentボタン > Arbor > ParameterContainer」を選択。
ParameterContainerの編集
パラメータの追加
- 「Parameters」の+ボタンをクリック。
追加したい型を選択。
パラメータの編集
- 名前、値を選択し編集。
パラメータの削除
- パラメータを選択し、-ボタンをクリック。
パラメータの検索
- 検索バーに名前を入力して検索。
また検索タイプを選択することでタイプごとのフィルタリングができる。
パラメータの種類
| 種類 | Inspector | 説明 |
|---|---|---|
| Int |
|
符号付き32bit整数 |
| Long |
|
符号付き64bit整数 |
| Float |
|
符号付き32bit浮動小数点数 |
| Bool |
|
ブール |
| String |
|
文字列 |
| Enum |
|
enum型(型指定可能) |
| Vector2 |
|
2次元ベクトル |
| Vector3 |
|
3次元ベクトル |
| Quaternion |
|
4元数 |
| Rect |
|
2次元の矩形 |
| Bounds |
|
3次元空間の範囲 |
| Color |
|
色 |
| GameObject |
|
GameObjectの参照 |
| Transform |
|
Transformコンポーネントの参照 |
| RectTransform |
|
RectTransformコンポーネントの参照 |
| Rigidbody |
|
Rigidbodyコンポーネントの参照 |
| Rigidbody2D |
|
Rigidbody2Dコンポーネントの参照 |
| Component |
|
コンポーネントの参照(型指定可能) |
| Variable | 自作可能なパラメータ型 |
Variableについて
Variableを使用するとパラメータを自作することができます。
詳しくは、「スクリプティング : Variable」を参照してください。
パラメータへのアクセス
アクセスノードの作成
パラメータをグラフビューにドラッグ&ドロップすることで、アクセスノードを作成できます。
- パラメータのドラッグエリアをドラッグ
- グラフビューの作成したい位置でドロップ。
- メニューから、GetかSetを選択。
(Setノードの場合は、各種グラフの実行ノードが作成されます。作成したら実行されるように接続してください。)
ParameterReferenceによるアクセス
ParameterReference関連クラスを持つスクリプトでは、値を扱うパラメータを設定できます。
ParameterReferenceフィールドによる設定
- 参照したいパラメータを持つParameterContainerを設定。
- ドロップダウンからパラメータを設定。
データスロットから入力
Containerフィールドはデータスロットからの入力にも対応しています。
- あらかじめParameterContainer型のデータを出力するノードを作成しておく。
- Containerフィールドの
ボタンをクリック。 - DataSlotを選択。
- データの入力スロットを接続。
- Parameterフィールドには参照したいパラメータ名を文字列で設定。
- (挙動によっては、Parameterのタイプも設定する必要があります)
データスロットについては、データフローを参照してください。
パラメータをドラッグ&ドロップ
- 設定したいパラメータのドラッグエリアをドラッグ。
- 参照したいParameterReferenceへドロップ。
パラメータを参照するスクリプトの作成
自作のスクリプトからパラメータを参照できます。
詳しくは、「スクリプティング : パラメータの参照」を参照してください。
GlobalParameterContainerについて
GlobalParameterContainerはシーンを変更しても保持しておきたいパラメータがある場合に使用するコンポーネントです。
GlobalParameterContainerの追加
- 適用したいGameObjectを選択。 「メニュー > Component > Arbor > GlobalParameterContainer」を選択 。
- あるいはInspectorの「Add Componentボタン > Arbor > GlobalParameterContainer」を選択。
- また、HierarchyのCreateボタン「Arbor > GlobalParameterContainer」からGlobalParameterContainerがアタッチされた状態のGameObjectが作成できる。
GlobalParameterContainerの設定
- あらかじめシーン間で共有したいパラメータを設定したParameterContainerを作成し、Prefab化。
- GlobalParameterContainerが追加されているGameObjectを選択。
InspectorのPrefabに作成しておいたParameterContainerのPrefabを指定。
GlobalParameterContainer経由でパラメータを参照
ParameterReferenceのContainerフィールドにGlobalParameterContainerを指定するとパラメータが参照できるようになります。
関連する組み込みスクリプト
ここでは主にParameterContainerを参照する組み込みスクリプトを一部紹介します。
StateBehaviour
| スクリプト | 説明 |
|---|---|
| CalcParameter | Parameterの値を演算して変更する。 |
| SetBoolParameterFromUIToggle | Toggleの値をParameterに設定する。 |
| SetFloatParameterFromUISlider | Sliderの値をParameterに設定する。 |
| ParameterTransition | Parameterの値を判定して遷移する。 |
Decorator
| スクリプト | 説明 |
|---|---|
| ParameterCheck | Parameterのチェック |
| ParameterConditionalLoop | Parameterの条件によるループ。 |
他にも、FlexibleFieldを使用して値を取得する組み込みスクリプトが多数ありますのでリファレンスを参照してみてください。