どうも、ご無沙汰してます。エッセイで食っていく方法を知っている人がいたらこっそり教えてください。というわけで今月のマンスリーNajikoのお時間です。
マンスリーといいつつ7月は記事を書いてませんが、8月に2つ書けば大丈夫。わたくしってそういうヤツです。
3.0移行からの歩み
前回の記事ではAvartars3.0にいつの間にか移行していました、という話まで書きました。記事のタイトル通り、3.0にするとなんかいいことがあるのかと言われればもちろんあります。が、Avatars3.0は2.0よりも突っ込んだ部分のカスタマイズが可能になる代わりに、その仕組みを理解しなければ2.0でできていたことが出来なくなることもあったりします。
例えば、このブログでも対処法の記事を書いていますが「こんちゃんの目がうるうるしなくなった」とか「飛行モーションを導入する方法が分からない」など。そもそも2.0から3.0に移行するための手順も慣れるまでは面倒で、特にアニメーションコントローラの中のステートマシンをいじる過程は、2.0ではアニメ―ションオーバーライドの存在により必要ありませんでした。しかし、一方で3.0にするメリットの一つはこのアニメーションコントローラを直にいじれる部分にあると言えます。
手にアイテムを持ちたい。そんな時、2.0ならどうするでしょうか。ハンドサインのモーションにアイテムとなるオブジェクトを表示するアニメーションを仕込むか、EmoteSwitchを利用してエモートにアニメーションを仕込みますね。
このこんちゃんの遺影はフィストのハンドサインを出している間だけ表示されます。この方式なら実装は楽です。ただし、フィストにする度にいちいち遺影が出てくるので邪魔になる時があります。
このこんちゃんの看板はEmoteSwitchで実装しています。出し入れがスイッチ式なので邪魔にならないようにしまっておけますが、アニメーションを再生した時に自分を視界に入れていなかった人には見えないという欠点があります。
時は流れ、こちらはあまなつちゃんです。手にやたらきんきら金のチョコを持っています。これは左手をGUNにすると出るようになっているのですが、2.0とは違ってEXメニューという拡張メニューを使い、「チョコを出すことを許可するボタン」がオンになっているときに限りハンドサインで出現させることが出来るようになっています。さらに、この画像では開封状態ですが、デフォルトでは未開封状態で出現します。そしてEXメニューに設定した「チョコを開封するボタン」を押すと開封状態になる、という少しだけ凝った設定がされています。
もし2.0でこれらを実装した場合、似たつくりには出来ると思いますが「チョコを出すのを許可するボタン」と「チョコを開封するボタン」はそれぞれを再生した瞬間を目撃した人以外には同期されないでしょう。しかし、3.0でEXメニューを使って同じことをした場合はどこで再生しても後から見た人にも見えます。設定も拡張エディタなどを必要とせず、覚えてしまえば簡単です。
こんな風に全身ゲーミングカラーにしたければ全身のマテリアルをごっそり変更するか、シェーダーの設定を変えるアニメーションを再生する必要があります。これもEXメニューから再生できるようにすればいつでもお披露目できます。また、EXメニューではアニメーションのオンオフだけでなく0~100%までの間をボリュームのつまみを回すようにしてなめらかに数値を変更できるBlendTreeも使用できます。わたくしはマテリアル変更アニメーションをここに設定して、一定まで回すとゲーミングし始め、さらに回すと全身金色に……などといったことを1つの項目で実行できるようにしています。また、例えばシェイプキーが0のアニメーションと100のアニメーションをBlendTreeに設定すると、その間の値をつまみで自由に指定できるようになります。有名な例としては、これを使って胸を膨らませたりしぼませたりすることができたりします(バスト調整シェイプキーがあるアバターであれば)。わたくしは常に絶壁でいいので使いませんが……もちろん、シェイプキーだけでなくオブジェクトのスケール変更をしたり、シェーダーの設定の中にアニメーションでいじれる部分があればそれもなめらかに数値を変化させられます。「髪が伸びたり縮んだりする」「暗いところでどの程度明るく見えるか微調整する」「ゲーミングの色の遷移スピードを変える」などなど……これらは3.0で導入できる機能としてはおそらくは初歩的な部分なのですが、既にこれだけ自由度が上がっています。
アニメーションコントローラーの中身を直接いじれるため、そこに配置するステートマシンをどのように遷移するか変数で細かく指定すれば、さらに複雑なギミックも工夫次第でいくらでも仕込むことが可能です。しかし、わたくしは現状そこまではしなくても「初歩的な」機能にすっかり満足してしまい、物を出し入れする時は一定の条件で「物を出す」「しまう」のみ、マテリアル変更などをするときは「マテリアル変更」のみのステートを設置しておしまい、というパターンより先には進んでいません。
あまなつちゃん購入後はずっと3.0で様々なアバターをアップロードしてきました。しかしそれらすべてがそんな感じなので、一見わたくしがVRCを始めて以来学んできたアバター関連の技術も頭打ちになってしまったように思えます。けれどそれは裏を返せば、ちょっとやりたいことや見せたいものがある時はこれらの仕組みだけでおおよそ実現してしまえるということでもあります。モーションを披露したい時はアクションレイヤーを使ったりと少し細かい点での違いはありますが、大まかなやり方は同じです。
知識の泉
え、それらの方法が詳しく知りたいですか?
でしたら、わたくしが解説するよりもわかりやすい記事があるので、そちらをご紹介しましょう。
【これだけ分かれば】Avatar3.0のオブジェクト出し入れ導入
Avatars3.0でログアウトエモートを導入する(わかってる人向け)
この辺が参考になります。
そんな感じで今回はおしまいです。気づけばわたくしがブログで解説できることももうほとんどないですが、気が向いたらまたなんか書きます。ではわたくしは寝ますので、おやすみなさい。