MatCapでアクセサリーに光沢をつける

今回はclusterのアクセサリーやアバターに使用するMToonに組み込まれている「MatCap」を使って、オブジェクトの見え方を変えてみましょう。

MatCapを使うと球体の画像などを利用して擬似的な光沢表現を設定することができます。擬似的な光沢表現であるため、ライトなどの光源の影響を受けずに表現することができます。
MatCap の利用例としては、自作のアクセサリーに金属などの光沢表現をつけることができます。

MatCapを設定してみよう

MatCapは特定のシェーダーやシェーダーの一部機能に組み込まれています。今回はclusterのアクセサリー機能で使用できる MToon を利用します。
MToonはCluster Creator Kit が導入されているプロジェクトならばすぐに使用することができます。(最新版である必要があります)

MToon の各項目についての詳しい解説はこちらの記事を参考にしてください。

MatCap に使用できる画像は Unity Asset Store や Booth などから入手することができます。また、記事後半ではMatCap用素材のつくり方も紹介します。

MatCapを設定する

それでは、画像が準備できたらMatCapを設定していきます。

  • まずはProject欄で右クリックして「Create > Material」でマテリアルを作成してください。
  • マテリアルを作成したら、作成したものを選択してInspectorを表示。Shaderを「VRM > MToon」に変更してください。

ここからMatCapの設定をしていきます。

  • MToon の Emission の欄から MatCap の画像を指定します。MatCap の欄にある◎マークを選び、MatCapに使用したい画像を選択してください。

割り当てた画像はイラストソフトにおけるレイヤー合成モードの加算のような表現になります。そのため加算後に白飛びしないように明度が低い画像を設定します。

MatCap画像をつくる

MatCapは自分でもつくることができます。より表現にこだわりたい方は自作のMatCapに挑戦してみましょう。
この記事ではUnityだけで作成できるつくり方の一例を紹介します。

  • まずはMatCap画像のもととなる球体を作成します。
    • Hierarchyで右クリックして、3D Object > Sphereか、上部メニューのGameObject > 3D Object > Sphereで球体を作成してください。
  • テクスチャなどを割り当ててつくりたい MatCap の見た目に調整しましょう。
    • このとき明度が高い見た目にすると加算後に白飛びしてしまうため、 MatCapにする色合いは暗めがおすすめです。
      • マテリアル等見た目の調整はこのカテゴリの記事が参考になります!
  • 次に球体を映すための Camera を作成します。
    • 作成したカメラの設定を Orthographic(平行投影)に変更し、Size など数値を変更して球体がピッタリ映るように調整します。
    • また、撮影したときの背景も設定しておきましょう。
      • Clear Flags を「Solid Color」、Backgroundを黒色に変更します。カメラを投影する Target Displayを「Display2」に変更します。
  • 続いて画像の解像度を変更しましょう。
  • Unity のGameビュータブを選択し、表示 Displayを「Display 2」に変更します。
  • 次に画面の解像度設定からカスタム解像度をつくります。
    • 十字マークを選択し、1:1の比率になるようにWidthとHeightを設定しましょう。1024×1024 や 2048×2048 のプリセットをつくっておくと便利です。

続いて Unity Recorder を導入しましょう。
Unity RecorederはUnity上での画像や映像等をキャプチャして保存できる公式ツールです。機能の詳細を知りたい方はこちらの記事をご覧ください。

  • Window > Package Manager から Package Manager を起動し、Unity Registry にある Recorder をインストールします。
  • Window > General > Rendering > Recorder Window を選択し、Unity Recorder を起動します。
  • Unity Recorder の 設定を Single Frame に変更したら「START RECORDING」を押して書き出します。
  • 書き出した画像は Recoder の Output File にある Path の先に保存されています。

これでMatCap画像ができました!

【Tips】暗い場所でも光って見える表現をしてみよう

MToonをつけたマテリアルのInspectorで「Color > Texture」 のベースカラーを真っ黒にして、MatCapで色の表現を行うと、ライティングの影響を受けず、どこにあっても一定の明るさになり、暗い場所だと明るく光って見えるようになります。

作成したMatCap画像を割り当てることで自作のアクセサリーに金属のような光沢表現をつけることができます。ぜひMatCapを活用してオブジェクトの見え方を変えてみましょう!

記事をシェアしてワールド制作を盛り上げよう!