Ameba Ownd

アプリで簡単、無料ホームページ作成

マルチウェポン風な装備を実現したかったなどと供述しており

2021.06.23 08:52

改変だ!実装だ!

いままででいちばん多い武器種数(自分の中で)更新しましたやった~!!!

ということで、ここ数日やってた装備アニメーションとラディアルパペットとの格闘を主観もりもりで記事に書きます…!


最初に動かしてるところの動画をどうぞ、ここに貼った動画は最初と最後以外ノーカットです!後程カット編集してツイートするので、メイキングみたいなものと思っていただければ!!

前者がストリームカメラ視点(他人から見てる場合)、後者が一人称視点(実際に操作してるところ)です!メニュー見づらいとか時間が長いっていうのはご容赦いただければ…。

アニメーションの移行条件あたりからお話していきますね、説明とか大の苦手ですので「よくわかんないけど詳しく知りたいよ~」って方がいらっしゃれば、どこかしらで質問していただければある程度は答えられる…と思いたい!

今回の武器はブレンドシェイプで変形するタイプのものを購入したため、武器へのシェイプキーの実装方法は割愛です、わたしもわかりません!!

こちらが今回使用しているアニメーターの中身(片手分)です、きれいな三角形ですよ!ひとつづつ解説しますがすべて片手のみの説明で、動画のように両手に持っているのは同じものを2つ分設定しているためです!


用意したパラメータの説明

注)すべてfloat型です!

〇Weapon

この値でどの武器を持つかを指定してあげます、武器1つの場合不要かな?


〇FormChange

〇FormChange2

値を好きな数値に設定して対応した変形先を出力しています、アクションメニューを途中で呼び出さずに変形させたかったので今回は2つ用意しました


ステート(写真の四角いやつ)の説明

〇WeaponChange(写真上側)

対応パラメータ:Weapon

持っている武器をパラメータに応じて変更するアニメーションが入っています(武器自体を変更)


〇status1(写真右側)

〇status2(写真下側)

対応パラメータ:FormChange , FormChange2

持っている武器をパラメータに応じて変形させるアニメーションが入っています(武器の形態を変更)、この2つを交互に切り替えて変形させます


ステートの遷移(白い矢印たち)の説明

〇status1⇔status2

条件(どちらも満たしたとき)

①ハンドサインがFistになっている(GestureLeft = 1)

②アニメーション終了時に①を満たしている(Has Exit Timeにチェックを入れる)

2つのステートは参照するパラメータが違うため、ここで遷移すると別の形態に変形します

→疑似的なトグルスイッチ(ここが超だいじ)

この矢印たちは本来だとフレームごとに条件の判定が行われてしまい、1→2→1→2→1→2→…となってしまうため離すフレームによって武器変形に成功判定が存在するような運ゲー状態になってしまいます!

それを解決するためにつけたのが条件②で利用するHasExitTimeです、この設定はチェックをつけると『アニメーションが終了したときだけステートの遷移判定が行われる』ようになるというもので、ステートが遷移したあとに次にステートが遷移しちゃう(元の場所に戻ってくる)前に条件を満たさないようにする(ハンドサインをFist以外にしておく)ことで1回だけ状態を切り替える、トグルスイッチみたいなものを追加パラメータなしで実装してあります!


〇status1→WeaponChange

〇status2→WeaponChange

条件:ハンドサインがGunになっている(GestureLeft = 6)

持つ武器を変更したいときに遷移させます、変形アニメーションはWeaponChangeを実行中には保持されない(おそらくレイヤーを分ければ解決しそう)ので武器変更はGunにしたときのみにしています


〇WeaponChange→status1

〇WeaponChange→status2

条件

(共通)ハンドサインがGun以外になっている(GestureLeft ≠ 6)

(分岐、わたしの場合)トリガーが一定以上押されているとstatus2側へ(GestureLeftWeight > 0.5)

武器を変更したら武器変形を適用させないといけないので、ハンドサインがGun以外になったとき即座に元のstatus1,2へ戻してあげます

上記の分岐だとトリガーが押された時にはもうハンドサインがGun以外になっちゃうのでうまく分岐しません、できたらいいなーくらいでできなくてもそこまで困らない気がするので、矢印を片方だけにして分岐はないほうがいいと思ってます!


結局どういうことしてるの?

軽くどういう設定をして操作しているのかをご紹介しますね、あくまでわたしの場合ですが!

こちらは武器変形のアニメーションです、だいぶごちゃごちゃしてますが!(武器を3つ入れてるのでこれはしょうがない)

Radial puppetで検索するとアニメーションの設定方法とパラメータと結びつける方法が出るかと思われます、大事なことは『変形アニメーションの時間は短くしすぎない』こと!わたしは1秒にしています、考えるのが面倒な方は1秒くらいにしておくととりあえず安心できるはず!

アニメーションが終わる時間ごとに遷移の判定を行う都合上、あまりに短くすると「1回遷移したあと離した時には元の形態に戻っちゃう!」みたいなことになりかねないです、ご注意を…!


続いてはVRC内での操作方法、こちらもわたしが動画内でやってたようなことの説明です!

〇あらかじめ数値を設定する

先にパラメータ3つを設定しておけば基本操作はすべてハンドサインで解決するため、途中でメニューを開くことなく好きなタイミングで切り替えができます!

〇ハンドサインで武器を出す

ハンドサインを変更して(ここではGun)WeaponChangeを実行してパラメータに応じた武器を出します、

〇ハンドサインを戻して武器を変形させる

ハンドサインが戻ったときに(Gun以外)status1か2へ遷移、そのときにパラメータで指定した形態になる…はずです!!

〇あとは適宜パラメータをいじりつついっぱい変形させる

たのしい!!!!!!!ほぼ自棄


宣伝

今回使用した武器は『クアシスの箱庭』さんで販売されている

の3つです、よければ見たり買ったりしてください…!


だいたいそんな感じです、今後要望があればもうちょっとわかりやすく発信できたらいいなあと思ってます!

最後に、こちらの記事が改変のヒント等になりましたら幸いです…!