現在工事中

MayaやUE5などでリアルな質感(テクスチャ)を設定するために気を付けるべきことと、PBR(物理ベースレンダリング)の解説

こんにちは伊藤忍です。かれこれ3DCGを初めて10年以上になります。普段は森林の中でTVCMや、映画、ゲームなどの3DCG制作をしています。今回は色々な自主制作、案件を通じて実験を重ねてきましたリアルな質感の制作の方法です。

リアルな質感を制作するときに気を付けることと、リアルな質感をつけるための予備知識としてのPPBR(Physical Based Rendering:物理ベースレンダリング)の解説を行います。

MayaとSubstance Painterを中心に解説を行っていますが、基本的なことなので、どのソフトでも応用できる考え方かと思います。

注意点

この記事には専門的な細かいことは書かれていません。私が試行錯誤して至った結果であり、ざっくり概要を把握するための簡易的な解説しかないです。(といっても初心者には難しい内容かもしれませんので、できるかぎり嚙み砕いて説明は行っております。)またここに記載されている内容には間違いもあるかと思います。間違いがございましたら、コメントやTwitter(@sinobu.3d)などでご指摘いただけますと幸いです。


目次

  1. PBR(Physical Based Rendering:物理ベースレンダリング)の解説
  2. 各テクスチャの解説
  3. テクスチャ制作で気を付けること
  4. できたら使おうマイクロテクスチャ!(多用注意です)
  5. 自分のお気に入りマテリアルをボタン一つで制作しよう
  6. 最後はライティング頼み?

①Physical Based Renderingの簡単な解説

マテリアル制作は奥が深いです。自分が表現したいマテリアル制作ができるようになるためにまずはCG業界で多く使われているPBR(Physical Based Rendering)を使用したマテリアル制作の方法を学びましょう。PBR(Physical Based Rendering)は物理ベースレンダリングと言います。物理的にできる限り正しく光の反射や屈折などを計測してレンダリングする手法です。

この記事はPBR(Physical Based Rendering)を使用した際にリアルに見せるためにどうすべきかを解説


②各テクスチャの解説

制作した3Dモデルに質感を付けるためにはオブジェクト(3Dモデル)にマテリアル(シェーダー)を適応し、必要に応じてテクスチャ画像を用意しないといけません。以下の狛犬さんで簡単に説明しますと、左からモデリングした3Dモデルのスクリーンショット、オブジェクトに色や光沢など数字を使って調整したマテリアルを適応させたレンダリング画像(画像中央)、テクスチャを使って数字だけでは簡単に表現できない細かな調整を行ったレンダリング画像(画像右)となります。

レンダリングをするためにはマテリアルの設定だけでなく、背景やライティング、レンダリングの設定もしてパソコンに計算をしてもらう必要があります。パソコンのスペックが高いほどこのレンダリング時間が短くなります。制約はあるものの、テクスチャを使うことで3Dモデルに好きな質感を簡単表現できるのです

この狛犬さんに使用しているテクスチャを見てみましょう

こんな簡単なオブジェクトでも意外に多くのテクスチャを使用しています。なぜこんなに多く必要なのか?一つ一つのテクスチャの役割は?一つ一つ見ていきましょう。

PBR(Physical Based Rendering)でよく使用するテクスチャは下記の6つになります。

  • Albedo(Color/Diffuse) :アルベド
  • Roughness :ラフネス
  • Metallic :メタリック
  • Transmission :トランスミッション
  • Normal Map :ノーマルマップ
  • Displacement :ディスプレイスメントマップ

毎回全てを使用するわけではないのですが、覚えておいて損はないので、可能なら軽く覚えておきましょう。

Albedo(Color/Diffuse)アルベド

アルベドは、一番見た目に大きな影響を与える「色」を設定する項目です。

良く勘違いしやすいのが、これは光や影が入ったカラーではなく、純正な物体のカラーになります。なので、写真で撮った画像をそのまま使用すると物理的に正しくない情報を使用していることになるので、注意が必要です。

また写真からの情報(カラーをスポイトで取得する時など)は注意が必要です。写真で見ているカラーは物体の本来のカラーではありません。光などが入っているので、20%〜30%ぐらい暗くした色のほうが正解に近いです。

・・・・・画像

「光や影が入ってない物体本来のカラー」というの言葉にするのは簡単ですが、実際に本来のカラーを取得するのは難しいかと思います。記事の後半に制作する際に注意が必要な部分は記載しますが、良いカラーテクスチャを制作するためにとにかく繰り返し作りづつけるしかないのです。自分が作りたい質感をしっかり見て、設定をしてレンダリングして、どこか違うかを見つけることの繰り返しになります。

・・・・・画像

Roughness ラフネス

ラフネスは「物質表面の粗さ」になります。テクスチャ上では白が100%表面がざらざらしている物体、黒が100%表面がつるつるになります。

・・・・・画像

ラフネスの値は真っ白、真っ黒は避けた方が良いと思います。現実的100%拡散、100%反射する物体は少ないと思います。なのでテクスチャ制作時にはできるだけ避けると良いともいます。

Metallic メタリック

メタリックは物体が金属か、非金属かを設定するものになります。テクスチャ上では白が100%金属物体、黒が100%非金属になります。

メタリックの基本は0か1、テクスチャでいうと、白か黒のみでいいと思いますが、傷や、汚れ、さびなどがある場合はその中間を用意することが必要です。

・・・・・画像

Transmission トランスミッション

物体が透明かどうかを設定できる値です。黒が非透明、白が透明になります。

・・・・・画像

この設定をした時に注意しないといけないのが屈折率です。ソフト(レンダラー)によって違いますが、屈折率の初期設定はおおよそ1.5〜1.6に設定されています。屈折率によって見た目が大きく変わるということと、汚れた箇所は非透明になりやすいので、それもテクスチャで表現できると良いと思います。

・・・・・画像

背景作品でよく見かけるのが色々な物体に綺麗にテクスチャを制作しているのに、ガラス部分のみマテリアルそのままを使用している作品です。それは時として良いのかもしれませんが、状況に応じてテクスチャを制作していきたいものです。

Normal Map ノーマルマップ(法線マップ)

ノーマルマップは模擬的にオブジェクトを凸凹させれるマップになります。これを理解するためにはまずは法線を簡単に理解しましょう。通常法線は各面に向かって真っすぐ進んでいます。そうすることによってレンダリングを行ったときにそのままの形にレンダリングします。

・・・・・画像

それを例えばですが、mayaのソフトエッジにすると法制は周辺の位置の中間に法線角度を設定します。なのでレンダリングすると以下のような結果になります。

・・・・・画像

そしてこれがノーマルマップを適用した画像になります。

Displacementディスプレイスメントマップ

ノーマルマップは凸凹表現できますが、あくまでレンダリング時にテクスチャに沿ってライティングで発生する陰影を模擬的に変更しているだけに対して、ディスプレイスメントマップは実際にオブジェクトを変化させます。

・・・・・画像

オブジェクトを実際に変更することによって生じるメリットは多きものです、GI( グローバルイルミネーション)やSSS(サブサーフェス・スキャタリング)などが綺麗に映るようになります。個人的にはアニメーションが必要なキャラクター制作時に役に立つと思います。キャラクターにディテールを持たせたいけど、ハイポリで制作するのはすべての工程を重たい作業にしてしまうので、ローポリで制作して、ディスプレイスメントマップでレンダリングするのは時には良い場合があります。(キャラクター制作、アニメーション、リグに関しては色々な方法があるため、これらはまた別の機会に記載します)

・・・・・画像

ディスプレイスメントマップのデメリットは何といってもディテールを出すためにポリゴンを再分割をして、ポリゴン数が大幅に増えてしまうのでレンダリングスピードがどうしても遅くなってしまう傾向があるため、注意が必要です。

・・・・・画像

③テクスチャ制作で気を付けること

今回はリアルなテクスチャ制作についての話になります。リアルとは何か?そこが一番難しい課題なのかもしれませんが、ただ情報量を増やせばリアルに見えるわけでもないですし、かといって情報量が少ないとうまくいきません。あくまで私の意見なのですが、制作している物体の構造を理解するのが一番早くリアルに見せるようになるかと思います。

・・・・・画像

構造を理解して、それをPhotoshopやサブスタンスペインターなどでレイヤーに分けてテクスチャを制作していくとうまくいくことが多いです。

・・・・・画像

では実際に鉄を例にやってみましょう!

まずはベースカラーを決めます。ベースカラーを決める際に3d人さんのサイトでも紹介されているAnton Palmqvist氏が制作しているサイトが参考になるかともいます。

PHYSICALLYBASED https://physicallybased.info/

・・・・・画像

ベースカラーが決まったら、それに伴った色を三色足していくとうまくいきやすいです。

・・・・・画像

構造通りに進んだら、色を足していったら、汚れ、傷などを適度に乗せていきます。

ここで気を付けないといけないのが、2つあります。

①適当に情報を足さないことです。

Adobe Substance 3D Painterなどの便利ツールが登場してから、そこまで考えずともそれぽい質感を付けることはできるようになりましたが、適当につけてしまうとどうしても作品を見ている人に見透かされてしまいます。

・・・・・画像

なので、できるかぎり丁寧に細部をこだわり、流れを崩さないテクスチャ制作をしましょう。

②全体での情報操作が必要だということです。

案件や作品を作っていて、プロダクト系ではない限り一つの物体が主役ということは少ないと思います。なので移っている物全体を通して情報量の操作が必要になります。言うならば視線の誘導です。これを意識して作業を行っている人が少ないように感じます、テクスチャ制作の際に今制作しているオブジェクトがメインなのか、それとも脇役なのか、配色、ディテール、光沢ぐらい、それらをすべて考えながら制作する必要があると思います。

テクスチャ単位でそれができるようになっている人はなにか安心感があります。

④できたら使おうマイクロテクスチャ!(多用注意です)

マイクロテクスチャ(正式名称ではないと思います)またはディテールマップなど言い方は様々ですが、要は細かいディテールを追加するマップになります。

これは主にアップに対応するために使用することが多いです。

・・・・・画像

画像は小さく、繰り返し使える物を複数用意して、IDマップでこれを管理するとあら不思議、元のテクスチャの解像度は低くても、綺麗に見えるようになります。

・・・・・画像

また細かいディテールを足すことによって、ハイライトに自然な変化などがつくメリットは大きいです。

ただこれには問題があります。繰り返しのテクスチャを多く使うのは使用するレンダリングソフトによっては重たい計算になることが多いです。

また繰り返しテクスチャをそのまま使用するとどうしてもUV展開の逆目が目立つ場合が多く、それの削減のために三面投影を使用する場合がおおいのですが、これも重たいのです。

・・・・・画像

マイクロテクスチャはうまく活用すれば素晴らしい効果を発揮し、作品のクオリティをアップさせてくれますが、安易に使用できないのが玉に傷です。

⑤カラー管理に気を付けよう!

カラー管理に関して・・・・これは大いなる迷宮への始まりです。

カラー管理はクオリティアップには必須の知識にも関わらず、学べば学ぶ程、底の知れない迷宮に迷い込んでいきます。

私が学んできた浅ーーーーーーい知識を元にお話します。

むしろ詳しい人に色々と教えてください!

まずはカラー管理とはなに?それを言い始める前に画像のカラーを決定しているカラースペースがあることをしりましょう。カラースペースによって表現できる色や保存できる色に大きな変化が起きます。

例えば、皆さんが何気なく使用しているsRGBは色々な色を圧縮して、ディスプレイを通したときに人間が見えやすい色を保存するのに大いに役に立つでしょう。

・・・・・画像

だからこれは本来見える色を切り捨てていることにもなります。

・・・・・画像

なので、カラースペースを変えるだけでも見栄えは大きく変わるのです。

また合成などを行う場合は色々と行程でカラースペースを合わせることをお勧めします。

これによって実写と3Dなどの合成などを行う際に比較的に楽に作業を行うことができます。

・・・・・画像

そしてこの頃業界内でブイブイ言わせてるカラースペースが米国映画アカデミー賞が定めているASESです。

2020年度からはMaya内でも標準にもなっています。現在記事を書いている2022年度の最新バージョンは1.3、Maya2020は1.0を使用しているっぽいので、できたら公式サイトからDLして、使用することをお勧めします。

Maya内での設定方法は以下の通りです。

まずはDLしてきたデータを解凍します。

・・・・・画像

保存先を決めて、

・・・・・画像

走っているアイコンの隣の設定ボタンをクリック(表示されてない場合はメニュー→設定)

・・・・・画像

そこからカラー管理をクリック、

・・・・・画像

ここでカラー管理の設定を行います。

これでカラー管理をASESに変更することが可能なのですが、テクスチャのカラースペースも変更する必要があります。

・・・・・画像

これでレンダリングすれば、カラースペースが変更されている状態でレンダリングが可能になったのです。

・・・・・画像

ただ気を付けないといけないことがあります。

レンダリング後にAE、Nuuk、Photoshopなどのソフトに持って行ったときに色味が変わるということです。

気づいた方は多いかと思いますが、Mayaだけカラースペースを変更しても意味がないのです。

自分が使用するソフトはすべて変更する必要があります。なんならディスプレイのカラー管理も必要になってくる可能性があります。

うーん。知識の沼です。

念のため各ソフトのカラー管理の参考リンクを張っておきます。

・・・・・リンク一覧

おおーこれで綺麗にレンダリングして色々なソフトに持っていけると思う・・・・・

⑥最後はライティング頼み?魅力的なライティングができる方法

テクスチャ制作してマテリアルを制作して、カラー管理も行ったら、ついに作品の完成に時が近づいてきました。構図や配色など魅力的に魅せるための知識、方法は色々あると思いますが、ここではライティングについて少し解説させていただきます。

⑦実践してみよう!

さて長々と色々と書いてきましたが、頭にインプットした情報を実際に身に着けるためには、実践あるのみです。こちらに今回解説に使用した、狛犬さんがあります。

・・・・・・DLリンク

皆さんに自分好みでこのモデルにテクスチャを制作して、レンダリングしたものをこの記事のコメント欄に記載するか、Twitter内に@sinobu.3dをあてに殴りつけてください。

ただルールが数点あります。

  • モデルの改ざんはNGで配布されている使用しにくいモデル、UVで挑んで見てださい。
  • 使用できるテクスチャのタイプは今回解説したカラー、ラフネス、メタリック、トランスミッション、ノーマル、でぃすぷれんすめんと、のみになります。それ以外はNGです。
  • 使用するソフト、レンダリングソフトは自由です。
  • テクスチャのサイズは自由です。32kとかでも大丈夫
  • そして「常識の範囲でご自由にお使いください。」

ではみなさんの狛犬さんを見ることを楽しみにしております。

コメントを残す

メールアドレスが公開されることはありません。