【Quest対応】VRChatでアバターの一部だけ金色にしたいとき①

想定環境
Unity 2019.04.31f1
Blender3.0.0


マテリアルがひとつの軽量アバターアバターランクが軽くて良い、Questユーザーにも見えやすい、設定を変更せずにQuest勢から見えるから良い、ローポリ故の美のようなものがあるから良い……様々な理由から軽量アバターを使う方がいることでしょう。まあ、例に挙げたのは全部私の気持ちですが。

それはそれとしてアクセントとしての金色を加えたい、しかしそうなると全面が金色になり、ちょっとそのまま使うにはあまりにも玄人向けの見た目になってしまうこともまた事実。

さて、そんな時にどうしたらいいか。

答えはBlenderにあります。

まあ、そう踵を返さずに、もう少し待って、話を聞いてくれ。コーヒーでも飲みながらさ。

私も2021年の4月末にVRChatを始めるまでUnityはおろか満足なデスクトップPCすら持っていなかったわけですが、先人たちの知恵を借りながらどうにかここまで生きてきたわけです。そのくらいのレベルでも、たぶんなんとかなります。もっと言えば、説明書をよく読まずにニ○リの家具の組み立てすら失敗するような人間です。それでもなんとかなりました。

今回やるのは目的に対して最短を目指します。いつだってそう。故にBlenderの他の機能について私は全く知らないし使えないに等しいです。記事以上のことをしたくなったら調べてみてください。

 

大まかにやることを並べてみましょう。
Blenderでマテリアルを増やして割当を変える(普通の部分と、金にしたい部分を分ける)
②Unityでアバターとして上げるのに使われるfbxというファイル形式で出力する
③Unityでアバターとしてセットアップをしてアップロードする

 

今回は「てっさくちゃん」を例に作業を行っていきましょう。ローポリながらカワイイ上に色々なギミックも入って、無料!アバター集会なども企画されておりますので皆もアップロードしてみよう!今回のような改変をしないままでもカワイイですよ!

booth.pm

(当記事作成に際しててっさくちゃん製作者の神葉詞様に相談し承諾をいただきました。ありがとうございます)

 

アバター側の下準備をします。
アバターのフォルダを開いて改変したいアバターのデータで「.fbx」とついているものがあれば、それがあるフォルダの場所(どこのドライブのどこのフォルダの中にあるのか)を覚えておいてください。もしfbxがなくてUnity packageしかない時は一旦Unityでアバターのプロジェクトを開いてください(開いたものがあるならそれでも可)。Unityのプロジェクトを保管しているフォルダの中に、アバターのfbxファイルが含まれているはずですので、その場所を覚えておいてください。今回のてっさくちゃんはUnityのProjectファイルの中にfbxデータが出るので先にSDKや必要に応じてダイナミックボーン、PC向けにUTSなどをImportしてUnity側のアップロード準備を済ませてしまいましょう。

 

次はBlenderのダウンロードです。
下記のサイトからダウンロード及びインストールしてください。

www.blender.org

PCスペックは多少必要になるかもしれませんが、ソフトウェアそのものは無料です。すごいことですよね。

さて、まずはBlenderを開いて「全般」をクリック、豆腐みたいなキューブが地面にあってそれをライトで照らしてカメラで映しているデフォルトの状態が出てきますが、いったん更地にします。

f:id:VRskud:20220417170653p:plain

Cube、light、cameraをひとつずつ、クリックして選択した状態で「x」キーを押して削除。右クリックから削除でもいいです。

f:id:VRskud:20220417170746p:plain

※この更地にする作業は大半のBlenderに関する記事で言及されていることと思います。絵を描くために紙を準備するくらいの「そういうものだ」と思っていてください。ちなみに、これを忘れると変なところから豆腐が突き出たままになったり、アバターを変えたときに周囲に爆光を放ち目つぶしをするその身にライトを宿したお天道様になったりします。消しておくのが無難です。

更地にしたら、変更したいアバターBlenderで取り込みます。
左上のファイル→インポート→FBX→ファイルを選択して取り込みます
選択する際に先ほど覚えておいた場所へ行ってfbxファイルを選択してください。

てっさくちゃんの場合はUnityのProjectがあるフォルダのAssetの中にありますね。

f:id:VRskud:20220417171205p:plain

f:id:VRskud:20220417172746p:plain

Blenderは標準設定のままだとマウスホイール長押しで視点の角度の移動、Shift+マウスホイール長押しで視点そのものの移動になっております。Unityとはちょっと違うので気をつけてみてください。

Blenderの中に灰色のアバターデータがインポートされたでしょうか。粘土みたいな。
インポート時点ではオレンジ色のフチが全体についていると思いますが、これはアバターが選択された状態です。一旦虚空をクリックして選択を解除しましょう。

左上にある「オブジェクトモード」と書いてある部分のプルダウンメニューから「編集モード」を選びます。

f:id:VRskud:20220417173133p:plain

f:id:VRskud:20220417173255p:plain

選んだら右側にある「面選択」モードをクリック。
ここからアバターのマテリアル割り当てを変える作業に入っていきます。

これから必要になるBlenderの操作として、マウスホイール操作でズームイン/アウト、マウスホイールを押し込みながらのマウス移動で回転、Shiftキーを押しながらのマウスホイール押し込みで視点移動、左クリックで選択、右クリックでメニュー。
「Ctlr+Z」で一個前の操作に戻る(連打するといっぱい戻る)、「Ctlr+Y」で戻した操作に対してひとつ先に進む。アバターの一部分を選択した状態で「L」キーを押すと「リンクされた部分を選択」。クリックなどで選択されている部分がオレンジ色になっています。

 

金色にしたい(=別のマテリアルとして割り当てたい)部分を一か所でもいいので選ぶと、その部分の欠片がオレンジになると思います。この状態で「L」キーを押すと「リンクされた部分を選択」という機能によって、だいたい一緒になっているであろう部分が選択されます。服なら服、靴なら靴、眼鏡なら眼鏡、等。複数個所を同じマテリアルにしたい場合、選択状態のまま「Shift」キーを押しながら追加でクリックして選択範囲を増やしていきます。その状態で「リンクされた部分を選択」機能を使いたければshiftキーを押したまま追加したい範囲の一部をクリックして、一旦「Shift」から手を放して「L」キーを押しましょう。追加で選択されるはずです。間違って選択が解除されたら落ち着いて「Ctlr+Z」で戻りましょう。さらに追加したい場合はまたShiftを押しながらクリックして選択していきます。

ポリゴンの一箇所だけ選択したままではLキーで選ばれない場合があります。近隣数カ所のポリゴンをぽちぽちしてからLキーを押すとうまく選んでくれることもあります。

f:id:VRskud:20220417174009p:plain

指先などはLキーがうまく機能してくれない場合もあるので、根気強くシフトキーを押したり離したりしながらクリックしたりLキーを押していきましょう。

f:id:VRskud:20220417174238p:plain

足の部分なども一回では全部選択されないので、ぽちぽち。

 

あと、これは私も最初勘違いしていたのですが、マテリアルの割り当ては隣接していない箇所でも可能です。つまり、靴と眼鏡と帽子が隣接したりしていなくても、同じマテリアルの割り当てにすることができます。便利ですね。今回も手と足は当然離れていますが、一緒にすることができます。

 

「L」キーで余計だと思う場所がどうしても選択されてしまう(例えば服の襟とか袖とか一部分だけ金にしたいけどLキーを押すと服全部が選択される)場合はすみません、いい方法を知らないのでぽちぽちと選択したり解除しています。いい方法をご存じの方がいたら教えてください。

f:id:VRskud:20220417174455p:plain

何気に首も柵なので選択しました。

さて、選択は終わりましたか?
選択しただけではまだマテリアルが割り当てられていません。右側の詳細を設定する欄に目を向けてください。一番下の方に地球みたいな、赤っぽい丸いマークのあるタブがあると思います。これがマテリアルを設定するタブです。

f:id:VRskud:20220417174635p:plain

+で新しいマテリアルを追加、新規を押下→割当を押下で今選んでいる部分を新しいマテリアルに割り当てました。

ひとまずこれでマテリアルの分割は終了です。
左上の「ファイル」タブから適切な名前をつけてBlenderの作業ファイルをとりあえず保存。

その後再び「ファイル」タブを押下、「fbxをエクスポート」を選んでください。

この際、ふたつほど注意点があります。

1.右側のタブの「トランスフォーム」をクリックして「スケールを適用」を「すべてFBX」にしてください。特にダイナミックボーンを導入するつもりの方は必須です。Unityに持っていった時にダイナミックボーンのスケールが100倍になって直すのがめんどくさくなってディスプレイの前で気絶します。

2.エクスポート前に右側のタブの「アーマチュア」をクリックしてもらい、「リーフボーンを追加」のチェックを外してください。
外さなくてもいいですが、外さないと余計なボーンが増えるのでアバターのランクなどを気にされる方は外しておく方がよいと思います。私はこれで「Questでmediumに収まるはずなのになぜかPoorになる」と何度もエクスポートしてはUnityに上げて、有識者に教えてもらうまで気絶を繰り返しました。

他の場面においては決して不要な機能ではなく、ダイナミックボーンの必要なアバターなどでは役に立ったりする機能みたいです。ダイナミックボーン使わないので教えてもらったのにあんまり頭に入りませんでしたが……。

f:id:VRskud:20220417175820p:plain

2箇所の作業後はいよいよエクスポートです。任意のフォルダに任意のファイル名を付けて保存してください。基本的にアルファベット表記のみの方がよいです。

ひと段落ですね。次にUnityでの設定に入っていきます。

……疲れたので記事を分割します。ごめんなさいね。