zuccie.com Spatialカスタムアバター Tiffy Unity まつ毛と髪をアルファテクスチャーで透過

2023年版|Spatialカスタムアバターのまつ毛と髪にアルファを使い透過させる

メタバース「Spatial」用カスタムアバター制作記の続編です。前回の記事でFaceGenとDAZ Studioを用いてGenesis Femaleベースの3Dモデルを制作し、BlenderとMixamoでカスタムアバター向けに使えるFBXファイルを出力してUnityに読み込み、パブリッシュして使えるまでのプロセスについて紹介しました。

ここでの課題は、Unityでマテリアルのアルファをいじっても、まつ毛が透過せずマスカラのオバケのようになるので、まつ毛と髪のアルファテクスチャーを、アルファ付きのPNG画像ファイルとして制作し、それを適用して、パブリッシュ後もアルファがカスタムアバターに反映され透過する方法を試行錯誤しながら模索して来ました。

今回紹介する方法は成功事例ですが、本来あるべきスマートな方法ではないかもしれません。できるだけわかりやすく簡潔に説明しているので、ご自身で試してみて、よりスマートな方法を確立していただければ幸いです。

なお、まつ毛と髪のアルファテクスチャーの制作方法は、次回の記事で紹介しているので参考にしてください。私は手持ちの「Affinity Photo 2 Mac版」を用いましたが、アルファが扱えるPhotoshopやGIMPなどの画像エディターでも同様に可能です。

Unity Editorに環境をセットする

Unity Editorを開いて、アセットに「Tiffy-Unity」フォルダーを追加し開きます。

zuccie.com Unity Editor Tiffy-Unityフォルダーをアセットに追加する

zuccie.com Unity Editor Tiffy-Unityフォルダーを開く

私の場合は、Exampleアセットから「Spatial Island」を環境にセットしています。プレビューに便利です。

zuccie.com Unity Editor Unitu環境をExampleからセットする

FBXファイルをアセットに読み込む

zuccie.com Unity Editor Tiffy-UnityフォルダーからFBXファイルをアセットにドラッグアンドドロップ

Tiffy-UnityのFBXファイルをアセットにドラッグ・アンド・ドロップします。

zuccie.com Unity Editor アセットを開いてもテクスチャーはまだ貼られていない

Tiffy-Unityアセットを開いても、まだテクスチャーはマテリアルに貼られていません。

zuccie.com Unity Editor Tiffy-Unityをシーンにドラッグアンドドロップしプレビューするとマテリアルにテクスチャーが貼られていなくて真っ白の石膏像の状態

Tiffy-Unityのアセットをシーンにドラッグ・アンド・ドロップして「Custom Avatar」を追加します。

Tiffy-Unityアセットをクリックすると、右側のパネルの「Inspector」に各種操作と情報が表示されます。今後は主にこのInspector上で各種操作を行います。

zuccie.com Unity Editor Tiffy-UnityアセットのRigのAnimation TypeをHumanoidにセットしApplyする

最初にTiffy-Unityアセットの「Rig」タブで「Animation Type」を「Humanoid」に変更しておきます。「Apply」をクリックして更新します。

★ 私の場合は、この段階でいったんSandboxでテストをし、OKだったら先に進むようにしています。最初はアルファテクスチャーを適用した後にSandboxのテストをしていましたが、なぜかRigのエラーが出てしまい、何回かやり直しを必要としたので、テクスチャーを展開する前にテストするとうまくいきました。

Rigのエラーの原因は今のところ不明なので、分かり次第レポートしたいと思います。

テクスチャーとマテリアルをフォルダーに展開する

zuccie.com Unity Editor Tiffy-UnityのInspectorのボタンでテクスチャー とマテリアルを展開する

Materials」タブに切り替えて、「Extract Textures…」をクリックしてテクスチャー画像ファイルを展開します。それに先立って「Textures」フォルダーのアセットを作っておくと良いです。

zuccie.com Unity Editor Tiffy-UnityのInspectorのボタンでテクスチャーを展開するアセットフォルダーを作成する

zuccie.com Unity Editor Tiffy-UnityのInspectorのボタンでアセットフォルダーにテクスチャーを展開する

Extract Textures…」をクリックすると、展開先の場所を指定するダイアログが開くので、先ほど作成した「Textures」フォルダーを指定して「Choose」ボタンをクリックします。(ここで「New Folder」をクリックして作成しても良い)

zuccie.com Unity Editor Tiffy-Unityのアセットフォルダーに展開したテクスチャーを確認する

シーンのプレビューで、テクスチャーが反映されたTiffy-Unityを確認できます。

Textures」フォルダーの中身も確認しておきます。Blenderでまつ毛や髪にアルファを使って透過していてもUnityには持ち込まれないので、Unity上のマテリアルを直接編集してアルファテクスチャーによる透過を実現します。

同様にして「Materials」フォルダーを作成して、「Extract Materials…」ボタンをクリックしてマテリアルを展開します。

zuccie.com Unity Editor Tiffy-Unityのアセットフォルダーに展開したマテリアルを確認する

各マテリアルにテクスチャーが貼られている状態が確認できます。

zuccie.com Unity Editor Tiffy-Unityのまつ毛のマテリアルを確認すると、まだ透明マップが適用されていない状態

この状態でプレビューを拡大すると、まだまつ毛と髪にはアルファテクスチャーが適用されていないので透過しない状態であることが確認できます。

まつ毛のマテリアルを直接編集する

右下の「daz_6_Eye…」をクリックして、Inspectorにまつ毛のマテリアルを表示します。今回は前回行っていたマテリアルのコピー・アンド・ペーストは必要なく、直接マテリアルのパラメータを編集できます。

zuccie.com Unity Editor Tiffy-Unityのまつ毛のマテリアルのSurface TypeをTransparentに変更する

Surface Type」を「Transparent」に変更します。

その下の「Surface Inputs」の「Base Map」の四角をクリックして「Color」を開き、テスト的にアルファ(A 透明度)のスライダーを左端に移動すると、まつ毛が透明になるのがシーンのプレビューでリアルタイムに確認できるので試してみてください。

まつ毛と髪のアルファテクスチャーを適用する

まつ毛のアルファテクスチャー(アルファ付きPNG画像)を「Base Map」の左端の四角にドラッグ・アンド・ドロップすると、リアルタイムに上記のスクリーンショットのように、まつ毛が透過したプレビューを確認できます。

その前に、アセットにアルファテクスチャー画像をドラッグ・アンド・ドロップして置いておきます。

Inspector右上のカギアイコンをクリックして、Inspectorの表示をロックしておくとドラッグ・アンド・ドロップがやりやすいです。編集するマテリアルを切り替える時にはロックを解除します。

同様に、髪のアルファテクスチャーも適用します。髪のテクスチャーは複数の部位に分かれているので、それぞれについて同じアルファテクスチャーを適用しますが「Head」だけは除外しています。Headに適用すると地肌が上から丸見えになり見栄えが悪いのでそうしました。

zuccie.com Unity Editor Tiffy-Unityのアセットの髪のマテリアルをクリックすると、Inspectorに複数のマテリアルパートが並んでいる

Tiffy-Unityのアセットを開いて髪のマテリアルをクリックすると、Inspector上に複数のマテリアルパートが縦に並んでいます。

今回は「Bangs」「Piggy Tails」「Strands」の3つの髪のマテリアルにアルファテクスチャーを適用しました。

zuccie.com Unity Editor Tiffy-Unityの髪のマテリアルのBase Mapに透明マップをドラッグ・アンド・ドロップする

パブリッシュしてアルファによる透過を確認する

zuccie.com Unity Editor HierachyのTiffy-Unityをアセットにドラッグ・アンド・ドロップしてPrefab Variantを作成する

左上の「Hierarchy」からTiffy-Unityをアセットにドラッグ・アンド・ドロップして「Prefab Variant」を作成し、「Publishing」をクリックして各種設定後、Prefab Variantを「Prefab」にドラッグ・アンド・ドロップします。

zuccie.com Unity Editor Tiffy-Unityのパブリッシングを設定

今回から「Usage Context」は「World」を選びます。前回までは「Ecosystem」でしたが、名称が変更になったようです。

現状では自分のスパース内のみで使えるカスタムアバターとなりますが、将来的には「Universal」のカスタムアバターの仕様がWorld並みに拡大されるか?Worldでも他のスペースで使えるようになるか?を期待します。

Sandboxでテストし、OKならパブリッシュします。

zuccie.com Unity Editor Tiffy-UnityのパブリッシングをSandboxでテスト後にパブリッシュする

結果を確認する

今回はパブリッシュに成功しましたが、なぜかメールが届くまで4時間近くかかりました。最初に練習するためにExampleのSpatianアバターでパブリッシュした時も4時間近くかかったので、Spatial側で何か初期化されたのかもしれません。

通常は5分程度なので、メールが届く前に確認すると、カスタムアバターを選ぶエリアに数字だけのアイコンが表示されていました。パブリッシュ途中の状態では、そのように表示されるものと思われます。

zuccie.com Unity Editor Tiffy-Unity パブリッシュ後に自分のスペースでカスタムアバターのまつ毛と髪の透過を確認する

試行錯誤では、Mixamoで出力したFBXファイルのファイル名を、毎回末尾の数字を変えながらやり直していたので、今回成功した事例の末尾は「」になりました。

zuccie.com Unity Editor Tiffy-Unity パブリッシュ後に自分のスペースでカスタムアバターのまつ毛と髪の透過を確認する

zuccie.com Unity Editor Tiffy-Unity パブリッシュ後に自分のスペースでカスタムアバターのまつ毛と髪の透過を確認する

まとめ

FaceGen ArtistとDAZ Studioで制作した3DモデルをSpatialのカスタムアバターとして使う方法を紹介する第二弾として、まつ毛と髪にアルファテクスチャーを適用して透過させる方法について解説しています。

マテリアルが直接編集できるようになっていたり、EcosystemがWorldに名称が変更になったりと、Spatial内部でかなり大きな変更がされているように感じます。ユーザーインタフェースも一部が変わりました。

今後は、今回の結果を踏まえて何らかの形で、Spatial向けカスタムアバターを「Unityを介さず」Spatialのスペースから直接読み込める形で提供できるよう考えたいと思います。Tiffy-Unityは無料商品としてダウンロード提供する予定です。

参考リンク

2023年版|まゆ毛と髪のアルファテクスチャーの作り方:Spatialカスタムアバター向け >>>

2023年版|Spatialカスタムアバターを試作する方法とは? >>>

Spatialクリエーターツールキット:カスタムアバター >>> YouTube へ

カスタムアバター制作|Unityのセットアップ >>>

2023年版|Unity Editor 2021.3.21f1を簡単インストールする方法とは? >>>

吉良 浩明

吉良 浩明

20年前から始めたDAZ StudioやFaceGen Artistを使った人物3DCGモデル作品の制作で培ったノウハウを用いて、Spatialやclusterなどのメターバース向け3Dアバター販売を開始します。Sketchfabではオリジナルの3D人物モデルを無料ダウンロード提供しています。

関連記事