ランダムポーズ表示まで試作、unityroomで公開[PoseUltimate]
はじめに
前回に引き続き、PoseUltimateを開発中です。
お絵描き支援ポージング統合ソフトです。
簡単なランダム表示機能まで出来たのでunityroomで公開中。
Web広告のあるサイトですが、無償で試遊できます。
https://unityroom.com/games/poseultimate_demo
ポージングアセット
今回、ランダムポーズとして下記のポーズ集を利用させて頂きました。
VRChat向けに用意されたものですが、用途は限定されないようです。
ライセンスが明確に記載されているので安心して使えるかと思います。
ポーズ詰め合わせ(ねここや)
https://booth.pm/ja/items/1634088
約100種類の、手付けと思われる自然なポージングが含まれます。
Unityでハマったこと諸々
Unityの仕様でいくつかハマったので、参考にメモを残します。
スクリプトからSetPoseしても反映されない
一回はUpdateの通過を待機する必要があります。
Updateされる前にポーズを再設定などするとおかしくなります。
スクリプトからSetPoseしたらメッシュの一部が消える
SkinnedMeshRendererのUpdateWhenOffscreenをONに。
このチェックを入れることで直りました。原理は知らない。
スクリプトからSetPoseしたらカメラのLookAtがずれる
カメラはUpdateでなくLateUpdateで調整しないとダメみたいです。
Updateの中で姿勢が計算されて更新されるため。
Animatorにアニメーション停止関数が無い
基本speed=0とするしか現状では手が無いみたいです。
AnimationControllerで変数を設定する方法もありますが、原理は同じ。
AnimationClipをスクリプトから動的に設定したい
Animator Override Controller を使えば出来ます。
詳細は他で解説が見つかると思うのでググってね。
おわりに
利用ポーズは、最初はMixamoのモーション利用を考えていました。
しかしそうすると、止め絵としてクオリティに欠けます。
今回、ねここやさんのポーズ集を見つけることができて幸いでした。
今回は以上です。