hildsoftのコード置き場

プログラム関連で調べたことやコードの保管場所です

Arbor2を使ってみよう その6 ParameterContainer

スポンサーリンク

前回の記事はこちら

code.hildsoft.com

検証バージョン

Unity 2017.1.1p1
Arbor 2.1.7

ParameterContainer

ParameterContainerの役割

ParameterContainerは複数のArborFSMから参照、更新するための変数を保持するためのコンポーネントです。

複数作成することもできますが、グローバル変数のようなものなので、無計画に増やしすぎると管理しづらくなるので注意してください。


f:id:hildsoft:20170929154910j:plain

GameObjectに追加して作成します。


f:id:hildsoft:20170929154919j:plain

空のGameObjectと一緒に作成することもできます。


パラメータの追加方法

f:id:hildsoft:20170929170140j:plain

右上にある+をクリックしてメニューを出し、追加したいクラスを選択するだけです。


パラメータの種類

f:id:hildsoft:20170929170319j:plain

よく使うクラスは一通りそろっているので、自分で拡張する必要は恐らく無いと思います。

Quaternionは内部ではw,x,y,zの4変数で持っている物を変換してx,y,zのオイラー回転で表示しているので直接入力すると若干ズレることがあります。

基本的にQuaternionは手作業で修正するものではないので、Arborやスクリプトから直接Quaternionとして操作した方が良いでしょう。


GlobalParameterContainerの役割

GlobalParameterContainerは、ParameterContainerをシーンを跨いで使用したいときに使います。

ParameterContainerと同じように変数を持つのではなく、ParameterContainerを管理する感じです。


f:id:hildsoft:20170929161747j:plain

まず、ParameterContainerをPrefab化する必要があります。


f:id:hildsoft:20170929161804j:plain

そして、Prefab化したものを登録します。


f:id:hildsoft:20170929162635j:plain

シーン起動時に存在しなければ自動で作成され、存在していれば何も起こりません。

複数のシーンで使用するものは初期化のタイミングや重複などに気を付けないといけないのですが、Prefab化してGlobalParameterContainerを使用するとその煩わしさを回避できます。


ParameterContainerの実際の使い方などは、また別途記事を作成したいと思います。