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

マテリアル

マテリアルは、表面の見た目を決めます。マテリアルの種類を選び、テクスチャマップを設定し、プロジェクト全体で使い回しましょう。

すべてのフィールドの範囲と初期値は、コンポーネントリファレンスにあります。種類ごとに使えるテクスチャマップは、マテリアルマップにまとめています。

スロット​

マテリアルコンポーネントにはスロットのリストがあり、スロット 1 つにマテリアルが 1 つ入ります。読み込んだモデルでは、スロットはモデルのパーツ(サブメッシュ)の順番に対応します。スロット 1 が 1 つ目のパーツを、スロット 2 が 2 つ目のパーツを塗ります。こうして、1 脚の椅子に木と布の両方を使えます。

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

スロットを動かしても設定はそのままです

スロットの順番は自由に入れ替えられます。動かしても設定は保たれます。

種類を選ぶ​

種類使う場面
standardリアルな見た目にしたいとき。まずはこれから始めましょう。
physicalガラス、ニス、クリアコート、屈折が必要なとき
basicライティングの影響を受けない、フラットな色にしたいとき
toon陰影が段になった、アニメ調の見た目にしたいとき
normal表面に問題がないか確認したいとき
chromakeyグリーンバックのように、動画から特定の色を抜きたいとき
occluder後ろにあるものを隠す、見えない形が欲しいとき
refリソースとして保存したマテリアルを使い回したいとき

種類ごとに設定が違うので、種類を切り替えるとパネルに表示されるフィールドが増えたり減ったりします。

すべての種類にある設定​

設定役割
colorベースの色
opacity0 から 1
transparentオンにしないと、opacity を 1 未満にしても効きません
side描画する面:表、裏、両面
wireframe辺だけを描画します
visibleそもそも描画するかどうか

種類ごとの追加設定​

種類追加の設定
standardmetalness、roughness、emissive、emissiveIntensity
physical上のすべてに加えて、clearcoat、clearcoatRoughness、transmission、thickness、ior
toonemissive、emissiveIntensity、グラデーションランプ
normalflatShading。色の設定はありません
chromakeykeyColor、similarity、smoothness、spill。初期状態で透明です
occluderside だけ
まず roughness を調整しましょう

表面の見た目がおかしいときは、最初に roughness を変えてみてください。現実の表面は、むき出しの金属かそうでないかのどちらかなので、metalness はたいてい 0 か 1 です。中間の値は、たいてい設定ミスのように見えます。

physical の設定​

  • clearcoat は、表面の上に光沢のある層を重ねます。車の塗装、ニス塗りの木、スマートフォンの画面などです。
  • transmission を thickness、ior と組み合わせると、ガラスや液体になります。光が表面で跳ね返らず、中を通って曲がります。
使うまでは負荷がかかりません

physical の設定を初期値のままにしておけば、処理は増えないので、physical は standard と同じ速さで動きます。ただし transmission は実際に負荷が増えるので、本当に必要な場所だけで使ってください。

テクスチャマップ​

テクスチャマップは、それぞれ画像とそのオプションでできています。たいていは画像だけで十分です。テクスチャの繰り返しがおかしいときや、引き伸ばされて見えるときに、オプションで直します。

オプション決めること
repeat、offset、centerテクスチャの繰り返し方と位置
rotation回転(度)
wrapS、wrapT端での扱い:繰り返す、端の色で止める、反転する
magFilter、minFilter近くと遠くでの見え方
anisotropy1〜16:斜めから見たときのシャープさ
generateMipmaps遠くで使う縮小版の画像
colorSpace画像の値の読み取り方
channel使うテクスチャ座標(UV)のセット。0〜3
flipY、premultiplyAlpha向きと透明度の扱い
色空間を正しく設定してください

画像には、色を持つものと、roughness やマスク、ハイトマップのような数値を持つものがあります。この 2 つは読み取り方が違います。roughness マップの色空間を間違えると、表面が少しおかしく見え、原因を突き止めにくくなります。絵ではないマップは、データとして扱ってください。

マテリアルを使い回す​

マテリアルは一度保存すれば、いくつのオブジェクトにでも適用できます。

  1. 1 つのオブジェクトでマテリアルを整え、Edit material で開きます。
  2. Save to project を押します。ほかのプロジェクトでも使いたい場合は、Save to team library を押します。
  3. 別のオブジェクトで、マテリアルスロットにある 2 つの矢印のボタンをクリックします。Material library が開きます。
  4. Project、Team、Creator Hub のいずれかのタブを選び、マテリアルをクリックします。

マテリアルを適用すると、スロットはそのマテリアルにリンクされ、ref スロットになります。Team や Creator Hub のマテリアルは、まずプロジェクトにコピーされ、スロットはそのコピーにリンクされます。

一度変えれば、すべてのオブジェクトが更新されます

1 つのマテリアルにリンクしたオブジェクトは、どれも同じ見た目になります。40 個のオブジェクトで共有していれば、保存したマテリアルを一度編集するだけで 40 個すべてが更新されます。違う見た目にしたいオブジェクトには、別のマテリアルを保存して適用してください。

オクルーダーとクロマキー​

オクルーダーは、後ろにあるものを隠す見えない形です。AR のコンテンツが本当にそこにあるように見えるのは、このおかげです。現実の柱がある場所にオクルーダーを置くと、バーチャルのコンテンツが柱の後ろに隠れます。

クロマキーは、グリーンバックのように、動画から 1 つの色を取り除きます。撮影した人物を、周りに四角い枠を付けずにシーンの中に立たせられます。設定の手順は次のとおりです。

  1. 背景が消えるまで similarity を上げます。
  2. smoothness を調整して、輪郭をなめらかにします。
  3. spill を調整して、人物の輪郭に残る緑色を取り除きます。

マテリアルグラフ​

どの種類でも思いどおりの見た目にならないときは、マテリアルをグラフでつくりましょう。自分でつくったマテリアルも、既製のマテリアルと同じ速さで動きます。ブラウザでも、アプリでも同じです。 → マテリアルグラフ


次へ: 物理 — オブジェクトが固体になるしくみと、動き方。