本日は MRTK と Blender の利用手順枠です。
MRTK ChannelMap Maker アドオンを使ってMRTKのチャンネルマップを作成する手順を記事にします。
MRTKStandardシェーダのチャンネルマップ
MRTKStandardシェーダは複合現実デバイスでのパフォーマンスを維持するための軽量なシェーダです。
チャンネルマップは MRTKStandard シェーダを使ってピクセル単位でマテリアルプロパティを制御する場合に利用します。
MRTKStandardシェーダのチャンネルマップの利用手順や詳細は以下の記事を参照ください。
bluebirdofoz.hatenablog.com
MRTK ChannelMap Makerアドオンについて
Blender 内で構成したマテリアルのプロパティを画像ファイルに書き出す Blender アドオンです。
出力された画像ファイルと MRTKStandard シェーダを使って Unity 内で質感を再構成できます。
Unity内で再構成したレンダリング結果
MRTKStandard シェーダのチャンネルマップで使用する以下のテクスチャを出力します。
・Metallic Map
・Occlusion Map
・Emission Map
・Smoothness Map
同時に、以下のテクスチャの出力もサポートします。
・Color Texture
・Normal Map
アドオンのインストール手順
以下の GitHub から取得可能です。
github.com
[Code] -> [Donload ZIP]でソースコードをダウンロードします。
ダウンロードが完了すると、MRTKChannelMapMaker_BlenderAddon-master.zip ファイルが取得できます。
Blender を起動し、[編集] -> [プリファレンス] を選択します。
Blenderプリファレンスが開きます。
[アドオン]タブを開き、[インストール]ボタンをクリックします。
先ほどの zip ファイルを選択して[アドオンをインストール]をクリックします。
これでアドオンがインストールされます。
サポートレベルを[テスト中]に切り替えると、アドオンの一覧に MRTKChannelMapMaker が表示されます。
チェックボックスにチェックを入れて、アドオンを有効にします。
インストールが完了すると、以下の2つのパネルが追加されます。
・[プロパティ]ウィンドウの[マテリアル]タブに[MRTK Material Maker]パネルが追加される。
・[3Dビュー]ウィンドウのサイドバーに[MRTK]タブと[MRTK ChannelMap Maker]パネルが追加される。
アドオンの使い方
実際に以下の3Dモデルを使って Blender 内で質感設定を行ってテクスチャを出力します。
MRTKStandardシェーダ互換のマテリアル作成
MRTK ChannelMap Makerアドオンを使ってテクスチャを作成する場合、対象のオブジェクトのマテリアルは全て、アドオンが提供するMRTKStandardシェーダ互換のマテリアルである必要があります。
本マテリアルは[マテリアル]タブの[MRTK Material Maker]パネルにある[Make MRTK Material]でオブジェクトに追加できます。
マテリアルに[MRTKStandardMaterial]が追加されます。
本マテリアルは MRTKStandard シェーダに引き継ぎ可能な以下の項目を設定できます。
Blender項目名 | MRTKStandardシェーダ項目名 | 説明 |
---|---|---|
ベースカラー | Albedo | カラー情報を設定する |
メタリック | Metallic | 金属光沢を設定する |
スムーズ | Smoothness | 表面の滑らかさを設定する |
伝播 | Albedo(アルファ値) | カラー情報に透明度を設定する |
放射 | Emission | 発光(強度)を設定する |
ノーマル | NormalMap | 法線情報を設定する |
[Make MRTK Material]をクリックすれば、複数のマテリアルをオブジェクトに追加できます。
各マテリアルを設定して様々な色や質感を持つマテリアルを用意しました。
[編集モード]に切り替えて、面にマテリアルを割り当てていきます。
面を選択して[マテリアル]の[割り当て]を実行すると、マテリアルが割り当てられます。
各面にマテリアルを割り当てていき、以下のような色と質感を持ったモデルを作成しました。
質感の調整を行う場合は[シェーディング]を[レンダー]に切り替えて確認します。
各種テクスチャの出力
次に、作成した3Dモデルから各種テクスチャを出力します。
[3Dビュー]ウィンドウのサイドバーにある[MRTK]タブと[MRTK ChannelMap Maker]パネルを開きます。
本パネルでは以下の設定を行って、3Dモデルのテクスチャ出力を行うことができます。
項目名 | 説明 |
---|---|
Target | テクスチャを作成する対象オブジェクト |
Texture Name | 出力テクスチャのベース名称 |
Color Texture Size | カラーテクスチャのピクセルサイズ(デフォルト:2048x2048) |
Bake Margin | ベイク実行時のマージン(デフォルト:16px) |
Bake Metallic Map | Metallic Mapを作成するか否か(デフォルト:False) |
Bake Occlusion Map | Occlusion Mapを作成するか否か(デフォルト:False) |
Bake Emission Map | Emission Mapを作成するか否か(デフォルト:False) |
Bake Smoothness Map | Smoothness Mapを作成するか否か(デフォルト:False) |
Channel Map Size | チャンネルマップのピクセルサイズ(デフォルト:2048x2048) |
Occlusion Factor | アンビエントオクルージョンの係数(デフォルト:1.0) |
Occlusion Distance | アンビエントオクルージョンの距離(デフォルト:10.0) |
Bake Normal Map | Normal Mapを作成するか否か(デフォルト:False) |
Normal Map Size | ノーマルマップのピクセルサイズ(デフォルト:2048x2048) |
[Target]にオブジェクトを指定して、各種設定を行ったら[Make Textures]で実行します。
対象となるオブジェクトのマテリアルは全て MRTKStandard シェーダ互換のマテリアルである必要があります。
出力先を選択するファイルウィンドウが開きます。
指定したディレクトリには、処理後の blend ファイルと各種画像ファイルが出力されます。
出力処理が実行されます。サイズの大きい画像ファイルを多く出力する場合は処理に時間がかかります。
処理が完了すると、全てのマテリアルは作成したカラーテクスチャを参照する1つのマテリアルに変換されます。
指定したディレクトリには変換後の blend ファイルと、作成指定した各種画像ファイルが出力されています。
カラーテクスチャは必ず作成されます。
なお、テクスチャのUVマップはオブジェクトがアクティブなUVマップを保持していた場合、これが参照されます。
オブジェクトがアクティブなUVマップを保持していない場合、スマートUV展開によって自動でUVマップを作成します。
その2に続きます。
bluebirdofoz.hatenablog.com