VRで焚き火する #16 Magica Clothのスカートでアウトドアチェアに座る【Unity】
キャンプ場には「ブログの女の子」がいるのですが、基本的には立っているだけでした。せっかくアウトドアチェアがありますので、そこに座らせてみたいと思います。
今回は、Very Animation でポーズを作成した後で、椅子に座ってもスカートができるだけはみ出さないよう Magica Cloth を設定します。
目次
開発環境
・Unity 2020.3.15f2(High Definition RP 10.5.1)
・CPU:AMD Ryzen 7 3700X
・グラボ:ASUS ROG-STRIX-RTX2060S-O8G-GAMING
・Meta Quest 2(Oculus Link利用)
・炎アセット:Ignis – Interactive Fire
・クロスシミュレーション:Magica Cloth
(1) Very Animation でポーズを作る
ポーズの作成には、Very Animation を使います。
以前の記事でも使いましたが、Unity上だけでポーズが作れる素晴らしいツールです。
Tポーズからはじめよう
「VA Editor」タブで「Reset -> T-Pose」を選択すると、キャラクターが「Tポーズ」になってくれます。
これが基本ポーズですので、ここから修正していくと良いですね。
IKでも設定できる
Original IK の一覧で、Head や Left Foot などにチェックを入れると、IK状態でポーズを設定できます。
頭や両手両足を掴んで操作すると、他の部分も良い感じに連動して動いてくれるのでとても便利です!
IKモードでざっくりとポーズを決めて、通常モードで細かな調整をするのが良いですね。
ポーズを作っていると、時間が経つのが異常に速く感じます。。。
全体の移動はRootを使う?
キャラクター全体を移動・回転したい場合は、Hierarchy で「Root」を選択した状態で操作すると良いようです。
移動できましたね。
恐らく、この方法で合ってるはず。
あとは、作成した Animation Clip(ポーズのデータ)を Unity の Animator で使えるよう設定しておきます。今回は、AIMotion という名前の Animator Controller を作成して、キャラクターに設定しました。
シンプルですね。
(2) 問題1:スカートが椅子を貫通する
今の状態でUnityで動かしてみると、問題がいくつかありました。
一つずつ、解決していきましょう。
椅子に座ったポーズになったのは良いのですが、スカートが椅子を貫通しています。
肘掛け部分があるのでそこは仕方ないとしても、座面(おしり部分)の貫通は改善したい。
[解決] 座面の下にコライダーを置く
解決方法の一つとして、座面の下にコライダーを置くことにしました。
Magica Clothには現在、長方形のコライダーはありませんので、 代わりに Magica Capsule Collider を使います。
Start / End Radius は大きめの方が調整しやすいかも知れませんね。
設置すると貫通しなくはなりました!
ですが、スカート後ろ部分が椅子からはみ出してますね。
いまのアニメーション設定では、UnityをPlayで開始したときのポーズは「座っているポーズ」です。Play前の「Unityエディター画面」では Magica Cloth は作動しないので、最初からスカート後ろ部分が椅子からはみ出していることになります。これは仕方ないですね。
試しに、Play中にコライダーを「椅子の後ろ側に移動してから、前に移動してみる」と、スカートが良い感じに前方に集まってくれました。
この方法を採用するかはさておき、こんな感じのアプローチが良さそうです。
例えば、最初から「座ったポーズ」ではなく、「立ったポーズ → 座ったポーズ」にアニメーションするとか。あとから試してみましょう。
(3) 問題2:スカートがめくれ過ぎる
次の問題です。
なぜかスカートがめくれ過ぎています。
別のスカートに変えても同じでした。
スカートが長いほど、症状が顕著なようです。
困りました。。。
[解決] Penetration をオフにする
最初、コライダーのサイズがおかしいのかと思いましたが、問題なさそうです。
いろいろ調べてみると、 Penetration(浸透制限)が原因でした。
Penetration は上記のサイトにもあるように、スカートの突き抜け防止するのに必須な機能なんですが、座ったようなポーズの場合、今回のような挙動になってしまうようです。座っている時は激しい動きもありませんので、思い切ってオフにしてみました。
すると、良い感じになりました!
膝の先から、スカートが下に下がっているのが分かります。
とても自然。
別のスカートでも試してみます。
ある程度、スカートが長い方が安定するようですね。
素晴らしいです!
(4) 問題3:スカート後ろ部分が椅子からはみ出す
これは、問題1で新たに見つかった問題でしたね。
既に解決策っぽいものがあるので、それを試しましょう。
[解決] 立つ → 座るポーズにアニメーションする
こんな感じで、アニメーション設定してみました。
Unityプレイ直後は立っていますが、数秒経つと椅子に座る設定です。
実行してみると、キャラクターが座っても、スカート後ろ部分が椅子からはみ出すことが減りました!
もちろん完全に防げるわけでは無く、時間経過とともにスカートが椅子から垂れ下がってくる場合もあります。
ですが、ある程度の効果はあったと思いますよ。
(5) 細かなところを調整していく
あとは、細かなところを調整していきましょう。
姿勢を変える
少し前かがみ気味でしたので、もう少し背もたれにもたれかかったようなポーズにします。
「Root」を選択して、キャラクターを回転します。
あとは、位置を調整していきます。
こんな感じでしょうか。
キャラクターが焚き火を見る
IK で Head を調整して、焚き火の方を見るように調整します。
キャラクターをじわじわ動かす
以前購入していた「アンテナショップ【ねここや】」様のブレンドモーションを使わせていただきました。
大変便利ですね。
これで、移動量が調整できると更に素晴らしいのですが。
設定できた
これで一通りの設定が完了しました。
いまの設定の場合、ある程度短めのスカートでも問題なく座れています。
良い感じですね。
(6) 動画で確認してみる
VRモード(Oculus Link)で確認してみましょう。
ワンピースで立つ→椅子に座る→焚き火を見る
ワンピースで椅子に座る
長めのスカートで立つ→椅子に座る
長めのスカートで立つ→椅子に座る(横から)
メイド服で立つ→椅子に座る
どの服でも、ちゃんと椅子に座ることができました。
まとめ
Very Animation でアウトドアチェアに座ったポーズを作成して、スカートができるだけはみ出さないよう Magica Cloth で調整してみました。
便利なアセットのおかげで、良い感じに座ることができました。
スカートの貫通もかなり防げたので良かったですよ。
コメント
トラックバックは利用できません。
コメント (0)
この記事へのコメントはありません。