SubStateMachineReference再生時のClone

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

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.

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

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.
Guest

SubStateMachineReference再生時のClone

Post by Guest » 2021/01/28 10:36

いつもArborにはお世話になっております。
挙動スクリプト SubStateMachineReference について質問させていただきます。

シーン上にObject1、Object2というオブジェクトがあり、それぞれにFSM1、FSM2というFSMがアタッチされている状況で、FSM1内のステートに SubStateMachineReference を追加し、External FSM に FSM2 を指定すると、再生時にObject2がまるごと CloneされてObject1の子オブジェクトになりますが、このCloneを行わずに子ステートマシンの再生を行う方法はありますでしょうか?
(Object2が巨大な場合など、できればCloneを避けたい場合があります)

お手数をお掛けして申し訳ありませんが、ご回答いただけますと幸いです。

User avatar
caitsithware
管理人
Posts: 454
Joined: 2015/08/17 12:41

Re: SubStateMachineReference再生時のClone

Post by caitsithware » 2021/01/28 11:15

ご利用ありがとうございます。

SubStateMachineReferenceのExternal FSMについてですね。
こちらはFSMを持つプレハブをInstantiateして子オブジェクトとして動かすという動作を想定しております。

例えば、FSM付き銃プレハブをサブステートマシンとして動作させることを想定してみますと、
銃のマズル位置を銃オブジェクトの子として持っていた場合に、銃プレハブ丸ごとInstantiateしなければ正しい参照が得られないためです。

また、シーン内の別FSMをサブステートマシン扱いとする挙動スクリプトは現在ありません。

もしInstantiateせずにシーン内のFSMを別途再生したい場合でしたら、PlayStateMachineをご利用ください。
PlayStateMachine — Arbor リファレンス

Guest

Re: SubStateMachineReference再生時のClone

Post by Guest » 2021/01/29 14:23

早速のご返信ありがとうございます。
SubStateMachineReference がプレハブを Instantiate する使い方を想定していること、了解いたしました。

また、PlayStateMachine のご教示ありがとうございます。
こちらとParameterContainer等を使うことで、シーン上の別FSMを実行して返り値を受け取る、という SubStateMachineReference のような使い方が Instantiate することなくできそうです。

この度はありがとうございました。

User avatar
caitsithware
管理人
Posts: 454
Joined: 2015/08/17 12:41

Re: SubStateMachineReference再生時のClone

Post by caitsithware » 2021/01/30 00:47

ご確認ありがとうございます。
やりたいことができそう、ということで良かったです。

シーン内の別オブジェクトをInstantiateしないままSubStateMachine化という使い方については要望として受け取り、対応できないか今後検討いたします。

今後ともよろしくお願いいたします。

Post Reply