Re:iN works

覚書き

Enable Behaviour と MecanimJitter の挙動を考える

はじめに

本記事は 前回  Trigger Eventでつまづいたところ のさいごに にて未解決の Playmaker での Enable Behaviourを使ってスクリプトの有効/無効を切り替え と いちか様 作成のUnityアドオン MecanimJitter  MMD4Mecanimアドオン MecanimJitter作ってみた - Unityの備忘録的な を組み合わせの使い方の模索の経緯です

やってみる

Triggerエリアに物が入ると、 MecanimJitterで ONCEで設定したものを1回だけ実行したい

f:id:riesenrein:20170510002433p:plainf:id:riesenrein:20170510002434p:plainf:id:riesenrein:20170510002435p:plain

 

待機状態でスクリプトを無効 → On Triger Enter で遷移して スクリプトを有効にする

f:id:riesenrein:20170510003033p:plain

GameObjectにアタッチしているスクリプトの有効/無効を切替するということでできないかなぁと思ってました。

⇒スクリプトの有効/無効の仕方はこれであってたみたいだが 結果は NG・・・ ONCEに設定されているものは 有効になったときに実行されるわけではなく、Play Once を押したときにしか実行されない

暫定でもやってやる

じゃぁ、LOOPの挙動はどうなんだろうと思ったら、INTERBALの設定値に関わらず、まず1回実施されて そのあとでINTERBAL値分待つ格好だった。

LOOP間隔を広げておいて1回実行した後で スクリプトを無効にすればいいじゃないということで、

f:id:riesenrein:20170510002903p:plain

(この時、Sync にチェックを入れておかないと3つの動きがランダムになってしまったので、Syncは忘れずにチェックを入れる)

 

⇒ 結果は NG... On Triger で遷移してスクリプトを有効にした後、すぐに待機状態に戻るので 動作途中にスクリプトが無効になりすぐに元に戻る

 

安直なやり方でこの後にWaitをいれればできるわなということで、やった結果は とりあえずはOK

だけど、 Wait時間分待つことになるので その間に次のOn Trigger が発生しても遷移しないので やっぱりダメ

 

さいごに

今更ながら改めてチュートリアルを見ると

youtu.be

スクリプトからはPlayoOnce() を実行すればよい

と書かれておりました。

今度はPlaymakerで関数の実行方法を探ってみましょう

※2017.05.11 続きました

riesenrein.hatenablog.jp