第5回 PuppetMaster特集
パペマスでユニティちゃんをいじる記事一覧はこちら
PuppetMasterは、Ragdoll(ぐったりする機能)の拡張版です。
Final IKの作者さんによるアセットで、
キャラクターが走って衝突した時に、モーションを再生させたまま、
ダメージを受けた体の部位だけリアルな衝撃を受けるスクリプトです。
PuppetMasterはじめての方はこちらの記事をチェック
今回は、ユニティちゃんがジャイアントスイングに挑戦します!
「Grab」スクリプトとは
サンプルシーン「Melee Grab」で、
相手のパペマスキャラを鷲づかみして連れ去るちょっと怖い系のスクリプト
ジョイントとジョイントを動的に結合するもので、「手と手」、「手と頭」などGrabスクリプトがついてるジョイントに磁石の様に引っ付く魔法のスクリプトです。
応用すれば面白そうな事が出来そうなので、色々触ってみた。
使い方
作り方が正解かどうかわからないので現時点でわかった事だけ公開します。
まず、前回の反省点から説明書(_READ ME!)を先にチェックしましょう。
これは、「Melee」のデモシーンです。 パイロット人形の左前腕筋肉(LArmForearm1)にあるGrab.csスクリプトを見つけます。
パイロット人形の左手を確認したら、Grabスクリプトを発見。
Puppet Masterとキャラのコントローラーがバインドされている。
レイヤーはおそらく手のレイヤーです。これは第3回で覚えた知識。
他は特に何も変更点が無さそうなので、
とりあえずユニティちゃんの右手に付けてみた。
完成!
ユニティちゃんの歩行アニメがおかしいのは、これからやるジャイアントスイングの影響です。
かなり簡単に実装出来ました。
ユニティちゃんのジャイアントスイング
初期状態でもクルクル回転してジャイアントスイングできますが、ちょっと物足りないのでアニメーションを変えて試した。
なんかちょっと良い感じ♪ パワフルなユニティちゃんの出来上がり!
実装箇所
1.回転時にユニティちゃんのアニメを「ピースポーズ」に切り替えた。
2.PuppetMasterのパラメータを修正
※これでも安定感が全然足らず、遙か彼方に飛んでいったり、
時にはミギーが本気出した時の腕になるので設定不足感がまだある。
3.壊れる壁は「Fracturing & Destruction」を使って配置。
腕を巨大化させてジャイアントスイング
第3回の「腕の巨大化」をしたまま掴んで回転したらどうなるんだろう?
と思いついて試してみた。
「腕を巨大化して掴む」までは簡単ですが、
掴んだ後に回転すると70%の確率で遙か彼方に飛んで行ってしまう。
腕を巨大化させたことで床と腕が衝突しあって不安定になる。
腕と床のコリジョンをIgnoreにしたらリアルっぽさが欠けてしまうので調整が難しい。
安定感を出すためにドハマりしてしまい、何十時間費やした結果
まだまだ知識不足ですが、だいぶ安定感が増してきました。
進撃のユニティちゃん爆誕
腕のサイズを最大値の半分に抑えてギリギリなサイズに留めた。
掴む箇所によっては重くて回転がきかない場合もある。
何か良いアニメのアセット無いかなぁと調べていたら、あるじゃないですか。
アニメーション/二足歩行
$257.04
このアセットパックにだけ「ジャイアントスイング」が入ってる特別なモーション・・・
めちゃ欲しい・・・
ここからはオマケ
ジャイアントスイングをトレーニングするユニティちゃんの練習風景。
腕のサイズを小さくすればする程、安定感が増した。
ごめんねクマさん。
最後に
Grabの連結がどこまで続くか試してみたい。(予定)
(熊熊熊熊熊ユニティちゃん熊熊熊熊熊)のような感じで手を繋いで輪になる。
ゴチャゴチャになりそうな気もしますが、試してみたいですね。
次回、Final IKのセットアップ編をスタートする予定です。
お楽しみに!