メインコンテンツまでスキップ

マテリアル

マテリアルは表面の見えかたを決めます。各項目の範囲と既定値は、生成された コンポーネントのリファレンスにあります。どの種類がどのマップを 受け付けるかは マテリアルのマップにあります。このページは 使いかたの話です。

マテリアルはスロットのリスト

1 つのマテリアルではなく、リストです。スロットの順番は読み込んだモデルのサブメッシュに 対応するので、スロット 1 が最初のグループを、スロット 2 が次を塗ります。1 脚の椅子が木と布で できているのはこのためです。

プリミティブから作ったオブジェクトのスロットは 1 つで、たいていそれで足ります。

スロットは位置ではなく、それ自体の同一性で記憶されます

並べ替えても何も作り直されませんし、移動してもスロットは設定を保ちます。

種類を選ぶ

種類こんなときに
standard本物らしく見せたいとき — 既定の選択
physicalガラス・ニス・クリアコート・屈折が必要なとき
basicライティングを無視したフラットな色がほしいとき
toon段階的なスタイライズドシェーディングがほしいとき
normal表面をデバッグしているとき
chromakey抜きたい色のある動画があるとき — グリーンバック
occluder後ろのものを隠す見えない形がほしいとき
refリソースとして保存したマテリアルを使い回したいとき

種類を変えると存在する設定項目も変わるので、パネルに出る項目が増えたり減ったりします。

すべての種類に共通の設定

設定はたらき
colorベースの色
opacity0〜1
transparentオンでないと、1 未満の不透明度は効きません
sideどの面を描くか。表・裏・両面
wireframe稜線だけを描く
visibleそもそも描くかどうか

種類ごとに増えるもの

種類ほかに持つもの
standardmetalnessroughnessemissiveemissiveIntensity
physical上記すべてに加えて clearcoatclearcoatRoughnesstransmissionthicknessior
toonemissiveemissiveIntensity、そしてグラデーションのランプ
normalflatShading。色は持ちません
chromakeykeyColorsimilaritysmoothnessspill。既定で透明です
occluderside のみ
いちばん効くのは roughness

表面がおかしく見えるときは、まず roughness を調整してください。metalness は現実にはほぼ二択で、 むき出しの金属かそうでないかのどちらかです。中間の値はたいてい間違いに見えます。

physical の追加項目

clearcoat は上に載る漆のような層です。自動車の塗装、ニスを塗った木、スマートフォンの画面。 transmissionthicknessior と組み合わせると、ガラスや液体になります。光が跳ね返る のではなく、通り抜けて曲がるからです。

使わないかぎりコストはゼロです

既定値のままなら、コンパイル時に畳み込まれます。つまり physicalstandard とまったく同じ 速さで動きます。transmission をオンにすると本当に負荷がかかります。ブラウザーがシーンを 2 回 描くからです。効果に見合う場所で使ってください。

テクスチャマップ

どのマップも画像とそのオプションの組です。たいていは画像を指定するだけで足ります。 オプションは、タイリングがおかしいときや引き伸ばされて見えるときに直すためのものです。

オプション制御するもの
repeatoffsetcenterタイリングと位置
rotation
wrapSwrapT端で繰り返す・留める・反転する
magFilterminFilter近くと遠くでのサンプリング方法
anisotropy1〜16。浅い角度での鮮明さ
generateMipmaps遠景用の縮小版
colorSpace画像の値をどう解釈するか
channelどの UV セットを使うか(0〜3)
flipYpremultiplyAlpha向きと透明の扱い
マテリアルを静かに壊すのが colour space

を運ぶ画像と、数値を運ぶ画像(roughness、マスク、ハイトマップ)は、別々に解釈しなければ なりません。roughness マップで間違えると、表面がなんとなく、理由の分からないおかしさになります。 マップが「絵」でないなら、それはデータです。

どの種類がどのマップを受け付けるか:マテリアルのマップ

マテリアルを使い回す

仕組みは 2 つあり、その違いが大事です。

やりたいこと使うもの
出発点にして、オブジェクトごとに調整するReplace from library。値をコピーします
1 つのマテリアルを共有し、1 か所で編集するマテリアルのリソースを指す ref スロット

ライブラリのソースは 3 つ。このプロジェクト、あなたのチーム、そしてプラットフォームの creators hub です。どれから適用してもコピーになり、あとから編集してもそのオブジェクトにしか 影響しません。

あとで全部塗り替えたくなりそうなら、参照を使う

コピーは「ここから始めて、それぞれ分かれていく」場合に向きます。参照は「この 40 個は同じ マテリアルだ」という場合に向きます。リソースを 1 回変えれば、40 個すべてが追随します。

知っておくとよい特別な 2 つ

Occluder は AR の仕掛けです。後ろにあるものを隠す、見えない形。実物の柱が立っている場所に 置けば、バーチャルなコンテンツはその後ろにきちんと隠れます。錯覚を成立させているのは、 ほとんどこれです。

Chroma key は動画から色を抜きます。グリーンバックのことで、撮影した人物を、周囲の四角なしに シーンの中に立たせられます。背景が消えるまで similarity を、縁をやわらげるのに smoothness を、 被写体の縁に乗った緑を抜くのに spill を調整します。

決まった種類の外へ

これらのどれでも狙った見た目が表現できないなら、マテリアルをグラフとして組んでください。 組み込みの種類は同じ体系の中の一点にすぎないので、グラフにするのは後退ではありません。 → マテリアルグラフ


次へ: 物理