はじめに
こんにちは、rickyです。
この記事はBlenderで作成したマテリアルをVRCに持ち込む方法をまとめた内容になります。
操作の意図や目的を踏まえつつ記載するので最後までお付き合いいただけると幸いです。
想定読者
Blenderの基本的な動作について理解している。
Blenderで作成したシェーダーをUnityで適用させたい
環境
Blender 3.3
Unity
前提
Blenderで作成したモデルをVRCに持ち込もうとするとマテリアルが反映されないケースがあります。
デフォルトのプリンシプルBSDFを適用したモデルをエクスポートすると問題がありませんが、シェーディングエディタなどプロシージャルマテリアルでマテリアルを作成したモデルだと上手くいきません。
この解消方法についての解決策とその理解を促す記事になります。
この記事ではmonkeyモデルを利用してスクショを張り付けていきます。
簡潔な操作手順
モデルとマテリアルの作成は完了済みとします
・UV展開を行う
・Bakeを行う
・マテリアルの準備
表示の色味が違うのはライトなどの影響です。
木目模様が一致している点についてご理解頂ければOKです。
UV展開を行う
まずはUV展開を行います。
これはテクスチャを張り付けた際に問題なくそのテクスチャがモデルに張り付けをするためです。
この操作を忘れてしまうと想定していた場所とは違う場所にテクスチャが貼られてしまいます。
そのためどういう展開が必要なのかをしっかりと設定する必要があります。
今回のモデルのモンキーには予めUV展開が行われているので割愛します。
ベイクをする
UV展開が終わったら今度はシェーディングエディタに移り、Image Textureを追加します。
『右クリック』、『追加』からImageで検索すると出てきます。
このノードはどこにもつながずに切り離した状態にしておきます。
その上でNewから名前を設定してOKを押します。
次にベイクをする際はCyclesでしかできないため『レンダープロパティズ』から『レンダーエンジン』を『Cycles』に変更します。
ベイクの欄からBake TypeのDiffuseを選択します。
このDiffuseを選択することでモデルに付与されている色の情報を取得することができます。
設定が完了したらベイクを選択し、ベイクを実行します。
Sampleing の Render からMax Samplesを10程度にしておくとベイクが速くなります。
画像の保存
展開図側のメニューから『Imaga』、『Save As』で画像を保存します。
またこのタイミングでモデル自体もエクスポートしておくといいでしょう。
今回はFBXでモデルのみエクスポートしました。
マテリアルの準備
Blenderでの作業を終了しUnityを開きます。
Unityを開いたらモデルとテクスチャのインポートをします。
次にマテリアルを準備します。
プロジェクト上で右クリック、Create Materialを選択し新規のマテリアルを準備します。
そのマテリアルのAlbedoの空欄にテクスチャをドラッグアンドドロップします。
適用に成功すると下のマテリアル情報がテクスチャを反映したものになるはずです。
最後にそのマテリアルをモデルに適用すればBlenderで表示されていたシェーディングと同じシェーディングになるはずです。
終わりに
ベイクする際にImage Textureノードを何も繋がずにベイクを実行するという特殊な操作のため慣れない方もいるかもしれません。
またUnity上でどうやってマテリアルを適用すればいいのかについても中々情報が出てこず苦戦しました。
また筆者はBlenderでの知識がまだ浅く理解が間違えてしまっている箇所があるかもしれません。
なるべく検証を行い、その手の問題が出ないようには気を付けていますが、もし問題点を見つけられた際はご指摘を頂けると助かります。
ここまで読んでいただきありがとうございました。
この記事が誰かのお役に立てば幸いです。
参考サイト