イラスト、モデリング、Unity、VR関連

unityとかblenderとかvr関連の作業メモ

vrchat アニメーションでloop timeにチェックが入ってないのにループする問題

vrchat用のアバターで、非アクティブのオブジェクトをアクティブにし、再び非アクティブにするというアニメーションを作成した。

そのアニメーションがなぜかループして、現れたり消えたりを繰り返す。loop timeにチェックは入ってない

 

キーフレームが、

非アクティブ=>アクティブ=>非アクティブにするとループする。

非アクティブ=>アクティブ、だけならループしない

 

追記:

うっかりしてたが、元々は

シェイプキーで口を開ける=>チャージパーティクルをアクティブに=>チャージパーティクルをアンアクティブに&レーダーパーティクルをアクティブにする、という問題から始まったのだが、このときはチャージパーティクルが現れては消えるを繰り返す、という現象であった。なので、アニメーションがループしてるというよりは、アンアクティブにしたオブジェクトが勝手にアクティブになる、と考えるべき。

 

暫定的な対策:

多分、アニメーションが終了してなければループはしないはずなので、アニメーションを10分とか長く設定しておけばいいはず

 

解決?

VRChatのハンドサインやエモートにアニメーションを入れるとき1フレーム以上のアニメーションを入れるとバグりやすくなるらしい。VRChatでアニメーションを入れるときは、アンアクティブな空のオブジェクトに目的のアニメーションをアタッチし、それをハンドサイン・エモートでアクティブにすることでアニメーションを実行すればいい、とのこと