【Unity】4.アバター衣装変更【初級編】
この記事ではアバターの衣装変更と、改変後のアバターアップロードまで行います。
最初の方にも書きましたがModular Avatar&対象アバターに対応衣装を使用する事を前提としているので再度周知願います。
Modular Avatar対応衣装のセットアップ
プロジェクトを開いてない場合はVCC左メニューの『Project』をクリックし「対象アバター用のプロジェクト名」右側の『Open Project』をクリックしてプロジェクトを開いてください。
▶対応衣装のインストール
BOOTHで使用したいModular Avatar&対象アバター対応衣装をダウンロードして展開してください。
プロジェクトに衣装をインストールする前にBOOTHの商品ページやダウンロードしたフォルダ内にあるReadMeなどを確認してください。
基本的に必要なシェーダーやツールがどこかしらに記載してあるのでそれを確認し、今までの手順でインストールしてない物はしてください。
上記を踏まえた上で衣装をインストールしてください。
今回の場合は下記の3つをダウンロードしてインストールしてください。
真ん中ZIPの「_Kikyo_」と書かれた部分は使用するアバターに合ったものを選びましょう。
Libero_Night_Kitty_Material__1.02.zip
Libero_Night_Kitty_Kikyo__1.01.zip
Libero_Night_Kitty_Cat__1.01.zip
▶既存衣装の非表示
3.アバターアップロードでアップロードに使用したSceneを開いていることを前提で説明します。
まずは追加する衣装と既存衣装が干渉してしまうので、非表示にします。
非表示のやり方は、まずHierarchyタブ内の「アバター名」がついてるオブジェクトの左側にある▶マークをクリックして子オブジェクトを表示してください。
Hierarchyタブ内のオブジェクトをクリックして選択状態にすると、Sceneタブ画面上でXYZ座標表示と描画されている物はオレンジのアウトラインが表示されるので、選択しているオブジェクトが何か確認することが出来ます。
非表示にしたい場合はInspectorタブのすぐ下、「オブジェクト名」の左側にチェックボックスがあり、これをクリックすると表示・非表示が切り替えれます。
これから着せる衣装に干渉しそうな服や装飾、バックなどを非表示にしたら、非表示にした物を一旦すべて選択状態にしてください。
Inspectorタブ内の「オブジェクト名」の左下にあるTag『Untagged』をクリックして[EditorOnly]をクリックしてください。
EditorOnlyにするとAnimation(アニメーション)などで表示・非表示を制御していた場合に、VRC上で表示されてしまうのを防ぐ事ができます。
この記事ではアニメーションやAnimator(アニメーター)などは触らない前提なのでここで暫定対応しておきます。
▶Blendshape(ブレンドシェイプ)の調整
以降はShape Changerが使用されていない前提での対応方法を記載します。
必要であればブレンドシェイプの調整を行います。
BOOTHの商品ページやダウンロードしたフォルダ内にあるReadMeや画像に”ブレンドシェイプの値はこの画像の通りにとか、「○○」シェイプキーは100にしてなんたら”と書いてあったらそれに従って設定する必要があります。
Hierarchyタブ内の「アバター名」オブジェクトの子オブジェクトの中に「Body_Base」と名前のついたオブジェクトが存在すると思うので、そちらをクリックしてください。
Inspectorタブ内のSkinned Mesh RendererコンポーネントのBlendshape左側にある▶マークをクリックすると一覧が表示されます。
ブレンドシェイプ名の右側にあるバーをクリックして左右にドラックするか、右端にある数値を0~100の範囲で入力することで変更できます。
衣装で触る場合は0か100にする事がほとんどなので説明に従って設定してください。
「Body_Base」のブレンドシェイプ以外にも弄らないと見た目がおかしい時があるのでそちらも同様の手順で調整してください。
▶Modular Avatar対応衣装を着用させる
衣装をインストールした際に生成されたフォルダ内にPrefabか「アバター名」がついたフォルダ、無ければ拡張子に.prefabついたファイルがないか確認してください。
「衣装名+アバター名.prefab」を探してHierarchyタブ内の「アバター名」オブジェクトのところにドラック&ドロップしてください。
確認の為にいれた不要なオブジェクトを消したい場合は、Hierarchyタブ内の消したいオブジェクトをクリックしてキーボードの”Deleteキー”を押したら消えます。
Modular Avatarセットアップ済みの衣装であればInspectorタブ内に”MA Mesh Settings”コンポーネントがあるはずです。
MAコンポーネントが無い場合はHierarchyタブ内の「衣装prefab名」オブジェクトを右クリックしてModular Avatar→Setup Outfitをクリックすれば自動でセットアップしコンポーネントが追加されます。
衣装の場合はアバター着用済みのprefabがあったり、専用のSceneがある場合もありますが、稀だったりするのでこの記事では上記の方法を実施している前提で記載しています。
これで対応衣装を着せる事が出来たので、Sceneタブ画面上の視点をぐるぐる回してみて既存アクセサリーなどが干渉してないかや、ちゃんと下着は着ているかなどを確認しましょう。
もし干渉していれば該当オブジェクトを非表示にしたり、ブレンドシェイプの値調整をして問題を解消してください。
対応アクセサリー類の追加&位置調整方法
Modular Avatar対応衣装で一部のアクセサリーなどが分けられている場合があるので位置調整と実装方法を記載しておきます。
今回はNight_Kitty_Catが対応している別アクセサリーとなります。
対象オブジェクトのprefabをHierarchyタブ内の「アバター名」オブジェクトのところにドラック&ドロップしてください。
Inspectorタブ内にMA Bone Proxyコンポーネントがあると思います。
MA Bone Proxyのターゲットに”Head”が割り当てられているので、このオブジェクトは頭に追従するように設定されているって事です。
対象オブジェクト選択した状態でInspectorタブ内のTransformコンポーネントのPosition・Rotation・Scaleの数値を弄って付けたい位置に移動してください。
対象オブジェクト選択した状態であればSceneタブ画面上のMove ToolやRotation Toolをクリックしてから、オブジェクト中心から出ているX(赤)Y(緑)Z(青)の矢印をクリック+ドラックで直感的に操作することも可能なので活用してください。
▶非対応アクセサリー類の追加
Modular Avatar対応衣装でも一部のアクセサリーなどが分けられていて対応してない場合があるので簡易的に実装できる方法を記載しておきます。
対象オブジェクトをHierarchyタブ内の空白部分にドラック&ドロップしてください。
対象オブジェクト選択した状態でInspectorタブ内のTransformコンポーネントのPosition・Rotation・Scaleの数値を弄ってオブジェクトを付けたい位置に移動してください。
位置の調整が出来たら、Hierarchyタブ内の「アバター名」オブジェクトの子オブジェクトにあるArmatureの▶マークをクリックしていって追従させたいボーンを見えるようにします。
アクセサリーごとに例をあげるなら、ヘヤピンやイヤリング・髪はHead、首輪はNeck、マフラー・ペンダントはChest、指輪はRingProxima.L(左手薬指の根本)といった感じです。
対象オブジェクトを追従させたいボーンへドラック&ドロップさせて、追従させたいボーンの子オブジェクトになればOKです。
▶Bounds(バウンズ)の設定
対象オブジェクトやその子オブジェクトのInspectorタブ内にSkinned Mesh Rendererコンポーネントがある場合はBoundsのCenterのXYZを0に、ExtentのXYZを1に変更してください。
Anchor Overrideの一括設定
衣装やアクセサリーなど追加した物とアバター本体の照明などの当たり方を統一します。
Anchor Overrideというここに設定したオブジェクトの位置を参照して明るさや影を計算する基準点となるものの設定をツールを使用して一括で行います。
▶EasyAnchorSetup
上メニューの[Tools]→[Kamishiro]→[EasyAnchorSetup]をクリックするとウィンドウが表示されます。
ブレンドシェイプの調整の項目の時と同様に、Hierarchyタブ内の「アバター名」オブジェクトの子オブジェクトの中に「Body_Base」と名前のついたオブジェクトを探しクリックして選択状態にしてください。
Inspectorタブ内のSkinned Mesh RendererコンポーネントのProbes左側にある▶マークをクリックして展開し、Anchor Overrideの枠部分をダブルクリックしてください。
するとAnchor Overrideに設定されているオブジェクトが選択状態になります。
選択されたオブジェクトをドラック&ドロップでEasyAnchorSetupのウィンドウ内にある「アバター名」右側の枠内にいれてください。
『Setup Anchor Override』をクリックし、出てきたウィンドウの『続行』をクリックすれば後は自動で一括設定をしてくれます。
設定が完了したらウィンドウが出てくるので『OK』してください。
EasyAnchorSetupはもう不要なのでウィンドウの右上の×マークをクリックして消しましょう。
アップロード
ここまでやったらSceneとProjectを保存しておきましょう。
こまめな保存はとても重要です!
あとは”3.アバターアップロードの▶アバターアップロード”で記載した方法と同様の手順で実施して貰えばいいですが、上書きの場合はアバター名とサムネイル設定は省略しても問題ありません。
上書きではなく別アバターとしてアップロードしたい場合は以下の手順でBlueprintIDのリンクを消してから”3.アバターアップロードの▶アバターアップロード”の手順を実施してください。
▶BlueprintIDのリンク解除方法
Hierarchyタブ内の「アバター名」オブジェクトをクリックして選択状態にしてください。
Inspectorタブ内のPipelineManagerコンポーネントを探して、『Detach(Optional)』をクリックするとリンクが解除されて空白になります。
以上でBlueprintIDのリンク解除は完了です。
お疲れさまでした。
これで衣装変更状態でのアバターアップロードが終わりました。
以上で”アバター衣装変更”は終了です。
次の記事「5.オブジェクトのオン/オフ+簡易軽量化」