見出し画像

コレで簡単!できるだけ手を掛けないVRChat AvatarのSDK2→SDK3移行方法

【2021/10/26追記】
VRChat側でSDK2がほぼ非推奨になったこともあり閲覧数が増えているようですので「現時点での個人的最適解」をまとめておきます。

Unity2019へのアップデート

当初はSDK2→SDK3だけ意識していたらよかったのですが、今となってはUnity2018→Unity2019の対応もしないといけなくなりました。

ただ、いろいろお話を伺うとトラブルが起きる事が多いようで。

幸いうちではAvatarをいろいろいじっているわけではないので配布元のUnityPackageから再作成する作戦にしました。

さすがに(2021年10月現在)昨今の状況ですと、Avatar作者さんがSDK3版に更新してくださっていることもあります。前の改造状況を壊したくない!!とかがなければ作者さん謹製のものを使った方が変なトラブルを呼ぶこともなくいいかもしれません。

よってUnity2018からUnity2019へのアップデートは他の記事を参考にして頂くとして。

手間を掛けたくないならツールを使おう

まあそういったわけで、いざとなったら「がとーしょこらのおみせ」のツールを使うのが早そうです。

この2つを使っていきます。

移行手順はおおよそ次の通り。

1:通常手順でSDK2のAvatarを完成させる
2:GameObjectExporterを導入してAvatarのUnityPackageをつくる
3:新しくSDK3を導入したUnityプロジェクトを作成する
4:2で作ったUnityPackageを新しく作ったUnityプロジェクトに入れる
5:新しく作ったUnityプロジェクトにVRCAvatars3Toolsを導入
6:VRCAvatars3Toolsで変換作業
7:スクリプトの削除や修正作業

さすがはがとーしょこらさんというわけで、スクリーンショット等を置いて説明するよりもツールの説明書をみてもらった方がわかりやすいのではないかと思いますが、簡単にまとめるとこんな流れになります。

手順については後で追記しますね。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

(ここから以前のテキスト)
八神翔太です。
気がついたらVRChatも月間課金できるようになり、なぜかUserRankもTrustedになってしまいました。NewUserのいるだけで構ってもらえる感じが好きだったんですががが。

すっかりあまなつちゃんの魅力に魅せられていろいろやっています。鉄は熱いうちに打てとはいいますが、熱意があるうちに覚えたことは案外忘れません。ありがたいことにとりあえず簡単な色変えくらいはすぐできるようになりました。
このあまなつちゃん、期間限定なのがほんとに惜しいのですが(おそらく)また再販売されることでしょう。

少し困ったことにこのモデル、手順通りセットアップしますとSDK2を使えと言ってきます。
SDK2の場合、ハンドサイン連動で表情を付ける場合8通り(しかもデフォ表情が必要なので実質7通り)しかセットできません。
これではあまなつちゃんの魅力が伝わらない!!

SDK2でセットアップすると言うことは、当然SDK3を前提としたツールやAssetも使えません。motionや着替えツールとかいっぱい出ていますね。
着せ替えといえば、冬の時期ですからあったかそうな衣装にその場で着替えさせたいじゃないですか。用意した衣装が本当に暖かいかどうかはわかりませんし、そういう衣装ばかりでないことも承知の上です。
(加えて衣装を山積みしますとファイルサイズが積んだ分だけ巨大化しますが、Kawaiiの前には些細なことです。Oculus?)

……ところで、うちで一番最初に購入したAvatarはこの子でした。こちらもお気に入りなので、あまなつちゃんもできれば同じようにできたらいいなと。

というわけで、SDK2からSDK3に「あんまり」手を掛けずに移行したいと思います。もちろん表情などはじっくり手を掛けてあげましょう。

ツールを使ってSDK2からSDK3へ

まともに移行しようとすると割と面倒な方法をとらないといけないです。
一応まとまった手順書があったので掲載しておきます。

……もちろん仕組みがわかっているに超したことはないですが、Unity初心者にコレを求めるのもなかなか鬼かなとも思います。

世の中には便利なツールを作ってくださる方がいらっしゃるもので、「Avatar2.0から3.0に簡単に移行できるやつ(仮)」というものがございます。

ただし、以下のような動作条件があります。以下引用です。

・特殊な構造のアバターは移行できない可能性があります
・耳などが動くアニメーションが設定されている場合は表情のみが移行されます(対応予定)
・瞬き干渉防止の設定がうまくいかないみたいです(解決不可能?)
・元からアニメーションが分割されているようなアバターは移行できません
・LipSyncはVisemeBlendShapeのみの対応です
・もしかするとSDKがバグるかも・・・
・簡単に移行できると言っておきながらそんなに簡単じゃない

なので、

★うまくいく場合といかない場合がある
 →SDK2でアニメーション分割されていると無理
 →LipSyncがVisemeBlendShapeじゃないと無理
★設定が抜けたり、移行できない所があるので手直しが必要になる場合あり
 →瞬き干渉防止は必ず再設定が必要
 →表情以外のアニメーションも再設定が必要になることあり

という点に注意して使う必要があります。今後のアップデートに期待です。

移行の方法

事前に「VRChatにAvatarをアップロードして、かつ正常に動作しているSDK2で作られたUnityプロジェクト」が必要です。

正常に動くためにはUnityのバージョンは「2018.4.20f1」である必要があります。間違えてないですよね?
お手元のSDKは最新ですか?(執筆時点での最新は2020.11.30.20.04版)
このあたりは基本ですが、たまにとっちらかるので確認しておきましょう。

大雑把な手順としては

1) SDK2側にAvatar2.0から3.0に簡単に移行できるやつ(仮)のSDK2版を入れる
2) SDK2側で移行用UnityPackageを作成する
3) 新しいUnityProjectをSDK3を使って作成する
(通常ならAvatarを組み込む直前までもっていく)
4) SDK3側にAvatar2.0から3.0に簡単に移行できるやつ(仮)のSDK3版を入れる5) SDK3側で移行用UnityPackageを読み込んで変換

となります。
ツールを使うとこの時ビューポイントがどうとか、ボーンがどうなっているとかは気にせず行けるところがツール利用の最大の利点ですね。

SDK3側に移行できたら、一旦VRChat側にアップロードののち動作確認して、おかしな動きをしていたり、アニメーションが移行できていない部分を把握しておきましょう。

うちの環境にいるあまなつちゃんの場合は耳の動き以外は移行できました。

移行できたら……?

耳の動きが足りてないのはさすがに修正が必要ですし、そもそも左手側でも表情が付けられる(全部で16通り)わけですから、アニメーションを追加で作る必要があります。というか今回やりたかったことがコレです!

これも手間のかかる作業ですので、ここでもツールを頼ってしまいます。「VRCAvatarEditor」の出番です。
以前書いた「「セシル変身アプリ」からVRChatアバターへの移植作業(ものすごく省略版)」の時にも使っていますね。

使い方は以前の記事を参照いただくとしてここでは省略します。作ったAnimationは後で混乱しないようにファイル名を工夫するといいかもです。(自分の場合はAmanatsu_Left_Peaceのように「どっちの手の何」で作りました。)

もっと細かい制御がしたい!ならお好みで「ComboGestureExpressions for Avatars 3.0」も使えます。Animationファイルが自作できる人向け。

さらにKawaiiをめざして

SDK2からSDK3に移行したわけですから、機能追加はしてあげたいものです。よりあまなつちゃんの良さを引き出すためにフルトラ勢でなくてもそれなりの動きを付けられるEmote関係を追加してあげましょう。

こちらについては特に解説は入れませんが、設定に手間取るとしたら何を選ぼうかくらいかな?と思います。

もう一つの目的である着替えの仕組みを実際に組み込むとなると、いわゆる「着せ替え」の技術にAnimationもわかっていないとちょっと辛いので、一旦放置の方向で。

(2020/12/10追記)ちょうどいいTweetが流れてきたので、あわせて掲載しておきます。

まとめ

難しいこと考えたり、慣れないことをはじめると変に時間がかかってモチベーションがガンガン減っていくので、ツールに任せられるところは任せてしまってやりたいことの作業時間を確保した方がお得感満載です。

正式な時期はアナウンスされていませんが、将来的にはSDK2が廃止の方向に向かっているようなので、お時間のあるときにお手元のお気に入りのモデルをSDK3対応させてあげられるといいかもですね。

と以前いってましたが、その時期が近づいているので思い立ったときにSDK3対応を進めた方がいいかもです。

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