見出し画像

Unity VRCアバター改変 帽子の付替え

前回

のつづき

帽子まわり概観

ヒエラルキーに
頭セット
└頭装備1
 └帽子
└頭装備2

のように置く

判定ダミーの使い方は後述

帽子は5つまで頭装備をオンオフして切り替える(拡張もできる)

animator controllerのレイヤー

衣装とちがって使わないステートへの遷移をミュートにする必要はない(使わないステートへ遷移すると何も被ってない状態になるが、帽子は何も被ってない状態でもよいから)

帽子は頭につけるのですべての頭装備にはConstraint→Headがついている

アバター間で移植するときSourceがはずれるので注意


帽子のメニュー

帽子のアニメーション中身
Constraintを操作してるのは無視してください

motionは前回のページング方式

つばが邪魔なとき

帽子を被ると視界が悪くなってしまうことがあるとおもいます
アイテムでも頭装備でもいいんですが、Scale ConstraintでHead指定するとゲーム上では自分の視点でHeadボーンのsizeが0になるのに追従して、帽子のサイズも0になる→自分視点でみえなくすることができます
他人から見たらそのままです。鏡も同様
これはアクセサリー(とくにメガネ)でも通用するテクニックです

帽子の次へ ボタンについて

次の帽子へ切り替わるボタンで巡回します
アクセのメニューにつけると帽子メニューをまるごと節約できます

ここに「衣装次へ」も並べたらメニューひとつで済むじゃん!っておもったけど、衣装は歯抜けになってると不都合だし、重いし、アクセ7以上追加したらメニュー足りなくなるので断念

どうやって実装してるか

ボタンが押されて変数がtrueになるたび帽子の切り替え変数を1足すだけのレイヤー

元のレイヤーのオレンジを巡回用に改変

帽子の切り替え変数が5より上のときもオレンジに戻って

帽子の切り替え変数を0にSet
これで所望のうごきをする

Contact機能と固定周りの操作



判定ダミーが何のためについてるかというとConstact用。未実装
Contactした結果、手に持ったりするときにConstraintを外す必要がある
したがって、切り替えたとき頭装備のConstraintが外れた状態であるかもしれないので、出現時にConstraintをオンにするアニメーションを入れてる(暫定)


この記事が気に入ったらサポートをしてみませんか?