You are on page 1of 9

New!!

YOYOGI MORIの情報を集めたサイト「YOYOGI MORI Library」オープン!


新しいアバター導入マニュアルは準備中です

アバター導入マニュアル 執筆者 せるれせんす

Unityのセットアップからアバターのアップロード方法、着せ替え方法などを解説するページです。
Unityでの作業にまつわるTIPSはすべてここに集約されています。

事前に用意していただくもの
■Unity 2019.4.31f1 Unity公式のインストールマニュアルはこちら
■VRCSDK3 - Avatars
■DynamicBone(推奨)

目次
Unityプロジェクトの準備
アバターをアップロードする(簡単)
アバターをアップロードする(プチ改変込)
アバターを着せ替える(着せ替え基礎編)
服飾を組み合わせる(着せ替え応用編)
服の一部を位置調整する(着せ替え+α編)
アバターに小物を追加する

Unityプロジェクトの準備
VRChatへアバターをアップロードするには、Unityプロジェクトの事前準備が必要です。

Step 1. Unityのレイアウト変更(任意)
当マニュアルで使用しているレイアウトに変更します。Unityを立ち上げ、画面右上の「Layout」から「2 by 3」を選択します。
レイアウトが変わったら、各ウィンドウの位置調整をします。

Project ウィンドウのアイコン表示がかさばるので、同ウィンドウ右上(鍵マーク横)から「One Column Layout」を選択してリスト表示のみにします。


以降、このレイアウトをテンプレに進めていきます。

Step 2. VRCSDK3のセットアップ
「VRCSDK3-Avatars」をインポートしてください。インポートが完了したら、「VRChat SDK」メニューから「Show Control Panel」を選択して
「VRChat SDK」パネルを開き、「Authentication」からUsername、Passwordを入力してサインインしておきます。

Step 3. Dynamic Boneのインポート(推奨)


Asset Storeから「DynamicBone」をインポートしてください。
注:Dynamic Boneの導入は任意ですが、導入しない場合、アバターをアップロードする前に
アバターに設定されているDynamic Boneコンポーネントをすべて削除する必要があります。
(そのままだと「Build & Publish for Windows」ボタンがグレーアウトしアップロードできません。)

Step 4. Lightの設定
デフォルトのLightは黄色がかっているので、白色に変更します。
Hierarchyウィンドウから「Directional Light」を選択し、InspectorウィンドウのColor項目でLightの色を白に変えてください。

Unityプロジェクトの準備は以上で完了です。

アバターをアップロードする(簡単)
アバターとしてセットアップ済みのPrefabは「CH」で始まるUnity Package内のPrefabsフォルダに入っています。
以下は「KRONOSを速攻でVRChatにアップロードする」例です。

Step 1. アバターのインポート
「YMToon」「CH_002_kronos」Packageをインポートします。

Projectウィンドウ内「CH_002_kronos」フォルダから、「CH_002_kronos_combined」PrefabをHierarchyウィンドウに入れてください。
KRONOSがSceneに配置されます。

Step 2. アップロード
「VRChat SDK」メニューから「Show Control Panel」を選択し、「VRChat SDK」パネルを開きます。
「Builder」から「Build & Publish for Windows」ボタンを押してアップロードします。
なお、「Automatic lightmap...」の注意が出る場合は「Auto Fix」を押すと自動で修正されます。
アップロード(簡単)の手順は以上です。

アバターをアップロードする(プチ改変込)
「CH」で始まるUnity Packageには上記の簡単アップロード用Prefabのほかに、パーツごとに分かれているPrefabが含まれています。
以下は「KRONOSにちょこっと手を加えてVRChatにアップロードする」例です。

Step 1. アバターのインポート
「YMToon」「CH_002_kronos」Packageをインポートします。

Projectウィンドウ内「CH_002_kronos」フォルダから、「CH_002_kronos」PrefabをHierarchyウィンドウに入れてください。
KRONOSがSceneに配置されます。

Step 2. パーツ非表示・マテリアル変更
「CH_002_kronos」Prefabは「CH_002_kronos_combined」Prefabと異なり、帽子やカバンなど任意のパーツを外せる仕様になっています。
今回はKRONOSの帽子を外してみましょう。
Hierarchyウィンドウから「CH_002_kronos」Prefabを開いて「SM_kro_cap」を選択し、Inspectorウィンドウの左上チェックを外して非表示にします。

「SM_kro_hair」に帽子の落ち影付きMaterialが設定されているので、影なしMaterialに変更します。
「SM_kro_hair」を選択し、InspectorウィンドウのSkinned Mesh Renderer → Materials内のElement 0枠(髪マテリアルが割り当てられています)に、
「CH_002_kronos」フォルダから「M_002_003_a_hair_noshadow」マテリアルを設定してください。Sceneウィンドウで帽子の影がなくなっているのを確認します。
注:マテリアルをSceneウィンドウ上のモデルに直接ドラッグ&ドロップすることでも
変更可能ですが、パーツがこまやかだったりすると上手く行かないことがややあるので、
Skinned Mesh Rendererから変更するのがおすすめです。

【Prefabモード】
Hierarchyウィンドウ内にあるPrefabの右側に、小さな右矢印があります。
これをクリックすると「Prefabモード」に移行し、Sceneウィンドウの見た目が変化します。
PrefabモードではオリジナルのPrefabが直接編集される上、デフォルトで自動上書きがオンなので、
うっかり触ることのないようご注意ください。

Step 3. SkinMeshCombiner
改変のしやすさを優先した設計の都合上メッシュの数が多く、このままではアバターの負荷が高くなります。
アバターを最適化するため、「SkinMeshCombiner」を使ってメッシュを1つに統合しましょう。
「AvatarTools」メニューから「K2Ex_SkinMeshCombiner」を選択して、「SkinMeshCombiner」を開きます。
「アバター又は衣装オブジェ」枠に「CH_002_kronos」Prefabを設定し、合成ボタンを押してください。

注:SkinMeshCombinerの「同名のメッシュファイルが存在する場合」の設定を、
「連番別名で追加する」に変更しておくことをお勧めします。
(デフォルトは「上書きで追加する」)

Sceneウィンドウの左側に「CH_002_kronos(Clone)」(リネーム可)が生成されていて、
Hierarchyウィンドウでメッシュが「Body」と非表示の「SM_kro_hat」の2つになっているのを確認します。
そのまま「SM_kro_hat」を削除します。なお、Hierarchyウィンドウ内にある「CH_002_kronos」Prefab(元のほう)も不要になるので削除して構いません。

Step 3. Anchor OverrideとAvatar Descriptorの再設定


ツールの都合上、Anchor OverrideとAvatar Descriptorの設定が一部外れるので修正します。
まずAnchor Overrideを再設定します。Hierarchyウィンドウから「CH_002_kronos(Clone)」の「Body」を選択し、
InspectorウィンドウのSkinned Mesh Renderer内「Anchor Override」枠に、Armature下にある「Hips」を設定してください。
次にAvatar Descriptorを再設定します。
Hierarchyウィンドウから「CH_002_kronos(Clone)」を選択し、Inspectorウィンドウ内にあるLipSync項目の「Face Mesh」と
Eyelids項目の「Eyelids Mesh」に「DR_002_kronos_head(Clone)」の「Body」を設定します。

Step 5. アップロード
「VRChat SDK」メニューから「Show Control Panel」を選択し、「VRChat SDK」パネルを開きます。
「Builder」から「Build & Publish for Windows」ボタンを押してアップロードしてください。

アップロード(プチ改変込)の手順は以上です。

アバターを着せ替える(着せ替え基礎編)
着せ替えには素体Prefabと服飾Prefabを用います。素体Prefabは「BB」で始まるUnity Package内、
服飾Prefabは「DR」で始まるUnity Package内のPrefabsフォルダに入っています。
以下は「KRONOSにkei’s Outfitを着せ替える」例です。

Step 1. 素体と服飾のインポート
「YMToon」「BB_002_kronos」「DR_004_keis_outfit_women_l」Packageをインポートします。

Projectウィンドウ内の各フォルダから、必要なPrefabをHierarchyウィンドウに入れます。
「BB_002_kronos」フォルダ 「DR_004_keis_outfit」フォルダ
■「BB_002_kronos_head」Prefab ■「DR_004_keis_outfit_a_women_l」Prefab
■「BB_002_kronos_hair」Prefab ■「DR_004_keis_outfit_boots_women_l」Prefab
■「DR_004_keis_outfit_ring_women_l」Prefab
Step 2. AvatarAssembler
各Prefabを1つのアバターにまとめます。「AvatarTools」メニューから「K2Ex_AvatarAssembler」を選択して、「AvatarAssembler」を開きます。
「+」ボタンで衣服 オブジェクトの枠を増やし、アバターオブジェクトに「BB_002_kronos_head」Prefabを、
衣服オブジェクトにそれ以外のPrefabを設定して着せ替えボタンを押します。

Sceneウィンドウの左側に「BB_002_kronos_head(Clone)」(リネーム可)が生成されているのを確認します。
Hierarchyウィンドウ内にある元のPrefabは不要になるので削除して構いません。

Step 3. SkinMeshCombiner
「アバターをアップロードする(プチ改変込)」のStep 3.と同様に、「BB_002_kronos_head(Clone)」を「SkinMeshCombiner」で最適化します。
不要なものを削除し、Anchor Override、Avatar Descriptorを再設定してください。

Step 4. 肌マテリアル変更
keiの服飾を着せ替えたので、肌部分にはkeiの肌マテリアルが設定されたままです。KRONOSの肌マテリアルに変更しましょう。
「Body」を選択し、InspectorウィンドウのSkinned Mesh Renderer→Materials内のkeiの肌マテリアルが設定されている枠に、
「BB_002_kronos」フォルダから「M_002_002_a_kronos_skin_nude」マテリアルを設定します。
Sceneウィンドウで肌の色が変わったのを確認してください。
着せ替え(基礎編)の手順は以上です。

服飾を組み合わせる(着せ替え応用編)
標準服に上着を着せるなど、着せ替えの方法は下記動画を御覧ください。
コートの着せ方
脱着の実装方法はこちら

服の一部を位置調整する(着せ替え+α編)
準備中

アバターに小物を追加する
小物の追加にはアップロードできる状態のアバターと小物Prefabを用います。
小物Prefabは「OB」で始まるUnity Package内のPrefabsフォルダに入っています。 ※小物Prefabの追加は、アバターの「SkinMeshCombiner」適用後に行ってください。
以下は「Active wearを着せたKRONOSにボトルを持たせる」例です。 アバターに小物Prefabが含まれていると、「SkinMeshCombiner」が機能しないことがあります。

Step 1. 小物のインポート
「アバターを着せ替える(着せ替え基礎編)」を参考にActive wearを着たKRONOSを用意し、
「OB_002_bottle」Unity Packageをインポートします。

Step 2. 小物の取り付け
小物を取り付けるボーンを探します。KRONOSのボトルは右手で持つことを想定しているので、
Hierarchyウィンドウからアバター(今回は「BB_002_kronos_head(Clone)(Clone)」)のArmatureを開いていき、「Hand_R」を見つけてください。
「Hand_R」内に、位置合わせ用の「bottle_guide」というGameObjectがあるので、こちらに「OB_002_bottle」フォルダから「OB_002_bottle」Prefabを入れてください。
入れた「OB_002_bottle」Prefabを「Hand_R」直下に移動し、「OB_002_bottle」Prefabが正常な向きになっていることを確認します。

注:位置合わせ用の「〇〇_guide」は、取り付けを想定している製品にのみ設定されています
(例:Active wearとボトル、白鳥とメガネなど)。
「〇〇_guide」がない部分に小物を取り付ける際は、各自で調整してください。

Step 3. 任意:ハンドサインの差し替え
製品によっては、小物専用のAnimation Clipが用意されている場合があります。
今回は標準のAnimation Clipを、ボトルを持つハンドサインを設定したAnimation Clipに差し替えます。
Animatorウィンドウが表示されていない場合は「Window」メニューからAnimatorウィンドウを開きます。

「BB_002_kronos」フォルダから「A_002_001_ctrl_kronos_gesture」Controllerを選択し、「Right Hand」Layerを選択します。

任意のState(今回はfist)を選択し、InspectorウィンドウのMotion枠に、「OB_002_bottle」フォルダから「A_002_bottle_hold」Clipを設定します。
Step 4. 任意:Radial Inventory
同梱のヤギハタ氏作「Radial Inventory System V2」を用いることで、VRChatで小物の表示・非表示をコントロールすることができます。
今回はボトルをオンオフできるようにします。製品フォルダから「RadialInventorySystem」Packageをインポートします。

「Editor」メニューから「RadialInventory」を選択し、「RadialInventory」パネルを開きます。「AvatarRoot」にアバターを設定し、「+」を押します。

「Prop1」に右手に持たせた「OB_002_bottle」Prefabを設定し、初期状態で表示したい場合は「Default」をオン、非表示にしたい場合はオフにし、
「アバターに適用する」を押します。今回は初期状態を非表示とするので、Inspectorウィンドウで「OB_002_bottle」Prefabを非表示にしておきます。

「BB_002_kronos」フォルダから「A_002_001_ctrl_kronos_fx」を選択し、Animatorウィンドウで「RadInvLayerG1」Layerが設定されていることを確認します。

アバターに小物を持たせる手順は以上です。アバターをアップロードし正常に動くことを確認してください。

You might also like