Page 1 of 1

サイドパネルで作成したパラメータコンテナを削除したい

Posted: 2021/12/16 00:38
by kaz
お世話になっております。
普段はインスペクタの方のパラメータコンテナを使用しており、重宝しております。

が、「サイドパネルの方だと何か便利なのだろうか」と試しにサイドパネル側で作成してみたところ、パラメータコンテナのに対するSetInt等の参照がサイドパネルの方に引っ張られているのか、インスペクタの方のパラメータコンテナにアクセスできなくなってしまいました。(インスペクタ、サイドパネルの両方にパラメータコンテナがある状態です)

そこで、「じゃあ、やっぱりサイドパネル側は削除しよう」と思った…のですが、削除の仕方がわかりません。
サイドパネルの方の全てのパラメータを削除しても、パラメータコンテナ自体は残っているようで、やはりインスペクタの方にSetInt等の参照がいかない状態です。

サイドパネルの方のパラメータコンテナを削除する方法は何かあるでしょうか。
ご教示いただけますと幸いです。

Re: サイドパネルで作成したパラメータコンテナを削除したい

Posted: 2021/12/18 12:03
by momomo
私はArborの開発者ではありませんが、削除方法についてのみですが、インスペクタをDebugモードにすると非表示のコンポーネントが全て表示されますので、サイドパネル用のParameterContainerが表示されると思います。それを削除すれば消すこと可能と思います。自分も前に消し方が分からず、気持ち悪くて削除方法を探りました。作成ボタンがあるので、削除ボタンがあってもいいとは思います。

Re: サイドパネルで作成したパラメータコンテナを削除したい

Posted: 2021/12/18 12:16
by momomo
追記です。ここで書くのは適切ではないかもしれませんが、クイズの答えが全く分かりません…!
答えを入力してもはじかれます、大文字なのか小文字なのかカタカナなのか、厳密にチェックしているのでしょうか。何回か試しても全然だめです。唯一正解するのは「Arborは何というゲームエンジンのアセット?」だけです。また、前にユーザー登録をトライしましたが同じ理由からできませんでした。これにより質問をしたい方が、そもそも書き込みができないといった現象も起こっているような気がします。
スレ汚してすみません。失礼します。

Re: サイドパネルで作成したパラメータコンテナを削除したい

Posted: 2021/12/19 02:28
by Guest
コメントありがとうございます。
インスペクタのDebugモードは試してみたのですが、私の環境ではサイドパネルのパラメータコンテナは表示されないのです。

ちなみに、Unityのバージョンは2019.4.24f1 Personal
Arborのバージョンは、3.8.1です。

Re: サイドパネルで作成したパラメータコンテナを削除したい

Posted: 2021/12/19 17:24
by momomo
自分はunity2021.1 Arbor3.8.8ですが、
ParamaterContainerがMonoBehaviourのサブクラスであるかどうか確認してみてください。
サブクラスである以上、debugモードにすればどのようなコンポーネントでも必ず表示される認識です。
今自分が組んでるBTグラフで試しましたが、作成ボタンを押して作られたParamterContainerは削除すると、また作成ボタンが表示されます。

Re: サイドパネルで作成したパラメータコンテナを削除したい

Posted: 2021/12/20 23:37
by caitsithware
気付くのが遅れてしまいました。申し訳ございません。

表題の件ですが、現在削除する方法は正式には用意しておりませんので、今後の更新で対応するか検討したいと思います。

サイドパネルのParameterContainerがある状態で参照する方法については以下の方法があります。

グラフ内のParameterContainerがある状態でGameObjectのInspectorにあるParameterContainerを参照したい場合は、
  • Inspectorの各コンポーネントのタイトルバー部分をドラッグ開始
  • 参照したい側コンポーネントのオブジェクトフィールド部分へドロップ
で参照できるようになります。

また、もし2つのGameObjectをまたいで参照する場合は、
  • 参照される側コンポーネントを表示しているInspectorをロック(錠前アイコンをクリック)
  • Inspectorのタブ部分を右クリックし、「Add Tab > Inspector」でもう一つ表示。
  • 参照される側コンポーネントのタイトルバー部分をドラッグ開始
  • 参照したい側コンポーネントのオブジェクトフィールドへドロップ
という手順で参照できます。
※Inspectorのロックや複数表示についての詳細はUnityマニュアル「Inspector オプション」を参照してください。

補足として、グラフ内パラメータについてですが、
グラフの挙動に直結しているものはなるべくグラフ内パラメータを使用し、シーン内(複数のGameObject間)で共有するようなパラメータは単体でGameObjectを置く、という使い分けを想定しております。
グラフの階層化(SubStateMachine)などでの値の受け渡しのため、グラフの挙動に直結するパラメータ置き場としてサイドパネルにグラフ内パラメータ置き場がある感じです。
容易に削除できない理由としては、自由に削除できるとなると上層からの値の受け渡しなどで参照切れが多発するかと思い、削除機能を入れるべきかどうか悩んでいる状況でした。
対策を練って対応いたします。

> momomo様
代わりの返答ありがとうございました。
フォーラムのクイズの件ですが、大文字小文字やスペースの有無など回答パターンを増やしてみました。
スパム対策により答えを書いたり無条件にはできませんのでその点はご理解いただけると幸いです。

Re: サイドパネルで作成したパラメータコンテナを削除したい

Posted: 2021/12/22 07:21
by Guest
ご返信ありがとうございます。
現状では、削除機能はないとのこと承知いたしました。

今回の私のケースに関しては、サイドパネル側のパラメータコンテナがある元ArborFSMの全ノードをコピーし、新規ゲームオブジェクトの新規ArborFSMにペーストすることで、無理やりですが問題を回避しました。
(コンポーネントのコピペだとサイドパネル側のパラメータコンテナもついてきてしまうので、この方法しかありませんでした)

ちなみに、Debugモードの件ですが、もしかしたらアセットのOdinのせいかも?と思い、新規のUnityプロジェクトを作成して試してみましたが、やはりサイドパネル側のパラメータコンテナは表示されませんでした…。