FSMの他のオブジェクトへの使い回し

Forum rules
Here is the forum to do the questions about how to use to Arbor developer.
Attention point:
  • We can not answer your questions about your project specific issues.
  • We can not answer your questions on Unity's specification issues.
  • Please check Arbor Documentation and ask a question if you still don't know how to use it. If the desired function is not described in the document, it is highly possible that the function does not exist from the beginning, so go to the request forum.

ここは、Arbor開発者へ使い方に関する質問を行うフォーラムです。
注意点:
  • ユーザー様のプロジェクトの仕様上の問題や設計に対する質問には答えられません。
  • Unityの仕様上の問題に対する質問には答えられません。
  • Arbor Documentationを確認の上、それでも使い方がわからない場合にご質問ください。欲しい機能の記載がドキュメントにない場合は機能が元から存在しない可能性が高いので要望フォーラムへ。

Post a reply

Smilies
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: FSMの他のオブジェクトへの使い回し

Re: FSMの他のオブジェクトへの使い回し

by hassy » 2016/05/19 20:30

ありがとうございます、
回答いただいたアイディアをもとに作ってみます。

Re: FSMの他のオブジェクトへの使い回し

by caitsithware » 2016/05/19 13:45

現在組み込まれているStateBehaviourのみで共通インスタンスのArborFSMを使いまわすとなると、AIとAnimator用FSMプレファブとキャラモデルプレファブ、キャラ実体化用FSMが必要になるかと思います。
  • AI兼Animator用はキャラのメッシュやボーン用オブジェクトを削除した状態のゲームオブジェクトで、これをプレファブにしておきます。
    AIに変更を加えたくなった場合はこちらのFSMを変更するだけでOKです。
  • キャラモデルはメッシュとボーンをひとまとめにしておきプレファブ化。
  • キャラ実体化用FSMで、必要なAIプレファブを実体化し、そのAI直下にモデルも実体化。
主な流れはこんな感じでしょうか。

また、StateBehaviourは自由に拡張可能なので、Animatorを参照する際は子オブジェクトから探してくるようなスクリプトを用意し、AI直下にAnimator付きのモデルをそのまま実体化、というほうが楽かもしれません。

Re: FSMの他のオブジェクトへの使い回し

by hassy » 2016/05/18 22:15

回答ありがとうございます、たしかにそのやり方で複製できますが、後々になって大元のFSMに修正があった場合(たとえばAIの修正による挙動の追加)、コピーしたもの全てに同じ修正を施すか、もしくは新しく修正したFSMにメッシュやボーンの入れ替えて量産という作業を再度繰り返すか、といった必要が出てくることを懸念しています。
たとえば素のスクリプトでFSMを構築した場合、大元のスクリプトの修正が全ての敵キャラに反映される、それと同様の簡単な修正、管理、更新をArborを使って行うことは可能でしょうか?

Re: FSMの他のオブジェクトへの使い回し

by caitsithware » 2016/05/13 09:47

使いまわしたいゲームオブジェクトをまるごと複製するだけでArborFSMからの参照先が複製したゲームオブジェクトに切り替わるので、そのまま使いまわしできるようになっています。
(この場合にモデルを置き換えるには、メッシュやボーン用のゲームオブジェクトをごそっと入れ替えてAnimatorコンポーネントの設定も適宜変更していただければできます)

FSMの他のオブジェクトへの使い回し

by hassy » 2016/05/12 23:29

あるモデル(ゲームオブジェクト)につけたFSMを、別のモデルに使いまわしたいのですが、例えばCalcAnimatorParameterで参照しているAnimatorは、当然付け替える先のモデルのAnimator(中身はもともとのFSMと同じもの)を参照するようにさせたいのですが、どのようにすれば実現できるでしょうか?
(例えば、赤ゴブリンにつけたFSMを、同じAnimatorをもつ青ゴブリンにコピペして敵キャラを量産するイメージです)

Top