MRが楽しい

MRやVRについて学習したことを書き残す

MRTK ChannelMap Makerアドオンを使ってMRTKのチャンネルマップを作成する その1

本日は MRTK と Blender の利用手順枠です。
MRTK ChannelMap Maker アドオンを使ってMRTKのチャンネルマップを作成する手順を記事にします。
f:id:bluebirdofoz:20200728230632j:plain

MRTKStandardシェーダのチャンネルマップ

MRTKStandardシェーダは複合現実デバイスでのパフォーマンスを維持するための軽量なシェーダです。
チャンネルマップは MRTKStandard シェーダを使ってピクセル単位でマテリアルプロパティを制御する場合に利用します。
f:id:bluebirdofoz:20200728230644j:plain

MRTKStandardシェーダのチャンネルマップの利用手順や詳細は以下の記事を参照ください。
bluebirdofoz.hatenablog.com

MRTK ChannelMap Makerアドオンについて

Blender 内で構成したマテリアルのプロパティを画像ファイルに書き出す Blender アドオンです。
出力された画像ファイルと MRTKStandard シェーダを使って Unity 内で質感を再構成できます。

Blender内でのレンダリング結果

f:id:bluebirdofoz:20200728230710j:plain

Unity内で再構成したレンダリング結果

f:id:bluebirdofoz:20200728230721j:plain

MRTKStandard シェーダのチャンネルマップで使用する以下のテクスチャを出力します。
・Metallic Map
・Occlusion Map
・Emission Map
・Smoothness Map
f:id:bluebirdofoz:20200728230735j:plain

同時に、以下のテクスチャの出力もサポートします。
・Color Texture
・Normal Map
f:id:bluebirdofoz:20200728230746j:plain

アドオンのインストール手順

以下の GitHub から取得可能です。
github.com

[Code] -> [Donload ZIP]でソースコードをダウンロードします。
f:id:bluebirdofoz:20200728230806j:plain

ダウンロードが完了すると、MRTKChannelMapMaker_BlenderAddon-master.zip ファイルが取得できます。
f:id:bluebirdofoz:20200728230819j:plain

Blender を起動し、[編集] -> [プリファレンス] を選択します。
f:id:bluebirdofoz:20200728230830j:plain

Blenderプリファレンスが開きます。
[アドオン]タブを開き、[インストール]ボタンをクリックします。
f:id:bluebirdofoz:20200728230841j:plain

先ほどの zip ファイルを選択して[アドオンをインストール]をクリックします。
f:id:bluebirdofoz:20200728230852j:plain

これでアドオンがインストールされます。
サポートレベルを[テスト中]に切り替えると、アドオンの一覧に MRTKChannelMapMaker が表示されます。
f:id:bluebirdofoz:20200728230904j:plain

チェックボックスにチェックを入れて、アドオンを有効にします。
f:id:bluebirdofoz:20200728230915j:plain

インストールが完了すると、以下の2つのパネルが追加されます。
・[プロパティ]ウィンドウの[マテリアル]タブに[MRTK Material Maker]パネルが追加される。
・[3Dビュー]ウィンドウのサイドバーに[MRTK]タブと[MRTK ChannelMap Maker]パネルが追加される。
f:id:bluebirdofoz:20200728230928j:plain

アドオンの使い方

実際に以下の3Dモデルを使って Blender 内で質感設定を行ってテクスチャを出力します。
f:id:bluebirdofoz:20200728230942j:plain

MRTKStandardシェーダ互換のマテリアル作成

MRTK ChannelMap Makerアドオンを使ってテクスチャを作成する場合、対象のオブジェクトのマテリアルは全て、アドオンが提供するMRTKStandardシェーダ互換のマテリアルである必要があります。
本マテリアルは[マテリアル]タブの[MRTK Material Maker]パネルにある[Make MRTK Material]でオブジェクトに追加できます。
f:id:bluebirdofoz:20200728230953j:plain

マテリアルに[MRTKStandardMaterial]が追加されます。
本マテリアルは MRTKStandard シェーダに引き継ぎ可能な以下の項目を設定できます。

Blender項目名MRTKStandardシェーダ項目名説明
ベースカラーAlbedoカラー情報を設定する
メタリックMetallic金属光沢を設定する
スムーズSmoothness表面の滑らかさを設定する
伝播Albedo(アルファ値)カラー情報に透明度を設定する
放射Emission発光(強度)を設定する
ノーマルNormalMap法線情報を設定する
f:id:bluebirdofoz:20200728231008j:plain

[Make MRTK Material]をクリックすれば、複数のマテリアルをオブジェクトに追加できます。
f:id:bluebirdofoz:20200728231020j:plain

各マテリアルを設定して様々な色や質感を持つマテリアルを用意しました。
f:id:bluebirdofoz:20200728231032j:plain

[編集モード]に切り替えて、面にマテリアルを割り当てていきます。
面を選択して[マテリアル]の[割り当て]を実行すると、マテリアルが割り当てられます。
f:id:bluebirdofoz:20200728231042j:plain

各面にマテリアルを割り当てていき、以下のような色と質感を持ったモデルを作成しました。
f:id:bluebirdofoz:20200728231053j:plain

質感の調整を行う場合は[シェーディング]を[レンダー]に切り替えて確認します。
f:id:bluebirdofoz:20200728231104j:plain

各種テクスチャの出力

次に、作成した3Dモデルから各種テクスチャを出力します。
[3Dビュー]ウィンドウのサイドバーにある[MRTK]タブと[MRTK ChannelMap Maker]パネルを開きます。
f:id:bluebirdofoz:20200728231116j:plain

本パネルでは以下の設定を行って、3Dモデルのテクスチャ出力を行うことができます。

項目名説明
Targetテクスチャを作成する対象オブジェクト
Texture Name出力テクスチャのベース名称
Color Texture Sizeカラーテクスチャのピクセルサイズ(デフォルト:2048x2048)
Bake Marginベイク実行時のマージン(デフォルト:16px)
Bake Metallic MapMetallic Mapを作成するか否か(デフォルト:False)
Bake Occlusion MapOcclusion Mapを作成するか否か(デフォルト:False)
Bake Emission MapEmission Mapを作成するか否か(デフォルト:False)
Bake Smoothness MapSmoothness Mapを作成するか否か(デフォルト:False)
Channel Map Sizeチャンネルマップのピクセルサイズ(デフォルト:2048x2048)
Occlusion Factorアンビエントオクルージョンの係数(デフォルト:1.0)
Occlusion Distanceアンビエントオクルージョンの距離(デフォルト:10.0)
Bake Normal MapNormal Mapを作成するか否か(デフォルト:False)
Normal Map Sizeノーマルマップのピクセルサイズ(デフォルト:2048x2048)

[Target]にオブジェクトを指定して、各種設定を行ったら[Make Textures]で実行します。
対象となるオブジェクトのマテリアルは全て MRTKStandard シェーダ互換のマテリアルである必要があります。
f:id:bluebirdofoz:20200728231127j:plain

出力先を選択するファイルウィンドウが開きます。
指定したディレクトリには、処理後の blend ファイルと各種画像ファイルが出力されます。
f:id:bluebirdofoz:20200728231139j:plain

出力処理が実行されます。サイズの大きい画像ファイルを多く出力する場合は処理に時間がかかります。
処理が完了すると、全てのマテリアルは作成したカラーテクスチャを参照する1つのマテリアルに変換されます。
f:id:bluebirdofoz:20200728231151j:plain

指定したディレクトリには変換後の blend ファイルと、作成指定した各種画像ファイルが出力されています。
カラーテクスチャは必ず作成されます。
f:id:bluebirdofoz:20200728231203j:plain

なお、テクスチャのUVマップはオブジェクトがアクティブなUVマップを保持していた場合、これが参照されます。
オブジェクトがアクティブなUVマップを保持していない場合、スマートUV展開によって自動でUVマップを作成します。
f:id:bluebirdofoz:20200728231215j:plain

その2に続きます。
bluebirdofoz.hatenablog.com