VRChatアバター改変

Avatars 2.0用のアバターを3.0で使う[3.0対応]

今回は、Avatar 2.0で製作されたアバターを3.0で使いたいと思います。
そもそも私は2.0でのアップロードをしたことがないので3.0しかわかりません。
使い勝手が違うと嫌なので先に統一しておきたいといった理由ですね

対象とするのはこちらのあまなつちゃんです。
一日限定という売り文句に見事に引っかかりました。

そのままだと本来の表情などを失ってしまいます。
かわいそうなので直してあげましょう

想定読者

  • 2.0もしくは3.0ですでにアバターをアップロードしたことがある
  • 2.0のアバターを3.0に対応させるのは初めて
  • 初めて使うアバターを3.0で使いたい
    (2.0からの引継ぎだとちょっと手順が増えるかも)

Contents

インポートする

諸々の必要な機能をUnityに予め入れておきます。
今回はこんな感じでしょうか。

  • VRC SDK 3.0 (Avatar)
  • Dynamic Bone
  • Sunao Shader

SDK以外は各アバターによって異なります。
2.0のときとは別のSDKなのでVRChat公式から調達してください。
(アバター用とワールド用が分化したのは3.0かららしいですね)

Sceneにいい感じに配置します

改変その他を適用する

今回は本題ではないので、改変を済ませたものがこちらです。
Photoshopで色替えしてAuto Dresserで服を着替えてちょっとリムライトかけてます
詳しくはまた別の記事で。

色合いがナスと言った人たちは名乗り出てください。槍で突きます

Avatar Descriptorの設定

ここから本編です。
Avatar Descriptorを設定していきます。
Scene上でアバターを選択します。

Add ComponentからVRC Avatar Descriptorを追加します。
また、2.0の設定componentがmissingになっています。
こちらは右上の歯車からRemove Componentしましょう

View Positionの設定

Avatar Descriptor内のものを上から順に設定していきます。
まずはView Positionになります。
ここで指定した場所がVRC内での視点位置になります。

数値で指定することもできますが、Editを押すとScene上で移動できます。
両目の間、顔の外側が定石とされています。
特段の理由で弱点を隠したい人などは全然違うところに置くのもありかもしれません

LipSyncの設定

設定しておくと声に合わせて口が動く…はずです
今回はAuto Detectですべて埋まりました
モデル側のBlendshapesの問題だと思うのでVisemeがない場合blender案件?

もし自動でうまくいかない場合、Face Meshに顔が含まれているメッシュを指定します

Eye Lookの設定

ここを設定しておくと周りのアバターなどに反応して視線が動く、らしいです
まずはEnableしてTransformsに目のボーンを設定します

Eye Movementsはまばたきの回数や他オブジェクトの方を向いている時間の設定です。
Shy/ConfidentについてはShyに振っておくのが好みです
(自撮りなどの写真撮影のときにconfidentは変な方に目線が行きがち)

画像は左を向いているときのプレビュー

次に、(正面と)上下左右を向いたときの位置を指定します
アバターによって同じ数値でどのくらい向きが変わるかは違います
なので数値は各々調整してください。

Previewを押して向き具合を確認しながら調整しましょう
正面(Looking Straight)は0のままでいいと思います。

Playable Layersの設定

最後に表情を追加していきます。
2.0にはないらしいAnimation Controllerを使いますが対応だけなら割とシンプルです

今回はこちらのFXのみを差し替えていきます。
表情などのアバター本体のボーン挙動に関連しないものはすべてこのFXで対応するとのこと
画像のcontrollerを今から作ります。

VRCSDK > Examples3 > Animation > Controllers から
vrc_AvatarV3HandsLayerをコピーしてきてわかりやすい名前に変えます。

Left Hand、Right Handレイヤーそれぞれで対応するAnimationをこちらの位置に挿していきます。
対応するAnimationがない場合はproxyのままにして差し支えないです
(が、proxyにも表情が設定されていた気がするので意図しない顔になる可能性があります
応急処置はproxyのコピーを作り、顔関連のシェイプキー指定を外すことです
詳しくはまた別の記事で)

Idleも含めたすべてのWrite Defaultsにチェックを入れます。
これをしないと手を離したときに表情が元に戻りません。
オンにするとバグがあるとの情報もありますが、アップロードしてみて特に困りませんでした。

設定し終えたら、このControllerをFXに挿して一枚目の画像の状態にします

Offline Testingする(任意)

VRChat SDKのControl Panelを開いてアップロード直前まで進みます。
エラーが出てボタンがグレーアウトしている場合はAuto Fixします…が
この挙動がどうなっているかは知らないので安易に保証はできないことご了承ください。
今のところ信用していいと思っています

そのままPublishしてもいいですが、個人的にはOffline Testingをおすすめします。
SDK 3.0の新機能で、VRC内のAvatars > Othersから自分にだけ見える状態でテストができます。
利点はなんといってもアップロードしないので準備が早いところです。

VRCを起動してテストアバターを使ってみます。
何かおかしなところがある場合には、この時点で修正をかけていきます。
VRCを起動しながらでもBuild & TestはできるのでPCつよつよ勢はどうぞ。

私はこの時点でWrite Defaultsにチェックを入れておらず一敗しました。

無事表情を取り戻してもらいました。かわいいですね

問題なく機能するようであれば、Build & Publishへ進みます。
あとはアップロードが完了すれば対応完了です。
お疲れ様でした。

参考にさせていただいた記事

コメントを残す

メールアドレスが公開されることはありません。