Page 1 of 1

CalculatorTransitionの挙動

Posted: 2020/04/08 06:16
by warapuri
お世話になっております。
Arborでの条件分岐によるTransitionに関して質問があります。

ボタンを押すと何かの関数を呼ぶ、ということをしたいのですが、うまくいきません。
コメント 2020-04-08 151329.png
コメント 2020-04-08 151329.png (59.63 KiB) Viewed 4688 times
図のように、関数の結果をboolで出しそれをリルートして、ConditionListの第1引数として代入しています。
「全てのデータ値を表示」してみると正常に「True」が入っているのですが、遷移してくれません。

同じStateでの代入はいけないのでしょうか?

Re: CalculatorTransitionの挙動

Posted: 2020/04/08 06:58
by caitsithware
InvokeMethodのOnStateUpdateとCalculatorTransitionの組み合わせでの問題についてですね。

現状、CalculatorTransitionはステートに入った瞬間のみ判定するようになっています。
そのため、InvokeMethodのOnStateUpdateからの値出力ではタイミング的に遅く、値が受け渡されないままCalculatorTransitionの判定に入り、結果遷移されない。という状況になります。

対策案は以下の通りです(呼び出すメソッドや遷移タイミングの都合もあるかと思うのであくまで参考程度ですが)
  1. InvokeMethodをOnStateBeginで行うように変更。
  2. 一番下にGoToTransitionを追加し、自分に遷移。
参考グラフ(InvokeMethodでの呼び出し先が手元にないため、Rigidbody.IsSleeping()で代用)
CalculatorTransitionGraph.png
CalculatorTransitionGraph.png (88.24 KiB) Viewed 4686 times

CalculatorTransitionについてはこのままでは不便な点もあるため、今後タイミング指定なども追加しようか検討いたします。

Re: CalculatorTransitionの挙動

Posted: 2020/04/08 07:10
by warapuri
素早いご返答ありがとうございます!
了解しました。GoToTransitionで対処することにいたします。