HSDL > Three.js > 技術資料 > 金属マテリアル

金属マテリアル

金属のように見える物体の作り方

手っ取り早く、MeshStandardMaterial で金属の質感を表現しています。
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshStandardMaterial({
	color: 0xffe29b,
	roughness: 0.5,
	metalness: 1
});
const cube = new THREE.Mesh(geometry, material);
マテリアルの color パラメータに金属の RGB 値を指定します。
追加で roughness パラメータ(粗さ)と metalness パラメータ(金属らしさ)を指定します。
適切な値を指定すると物体が金属らしくなります。

ここまでは簡単なのですが、ただ単に物体を作るだけでは金属らしく見えません。
別の重要な要素があります。

その要素は光源です。
適切な位置に適切な光源を配置しないと、なんだかよくわからない謎の物体を見ることになります。

誰もが光源沼にハマります。
よりよい表現をするには試行錯誤が必要です。

金属の RGB 値

金属の RGB 値は、実物を測定した値が明確になっています。
代表的な金属の RGB 値と HSV 値を以下に示します。

色見本 マテリアル Material HEX RGB HSV
Gold #ffe29b rgb(255, 226, 155) hsv(43, 39, 100)
Silver #fcfaf5 rgb(252, 250, 245) hsv(43, 3, 99)
Copper #fad0c0 rgb(250, 208, 192) hsv(17, 23, 98)
Aluminium #f5f6f6 rgb(245, 246, 246) hsv(180, 0, 96)
Platinum #d5d0c8 rgb(213, 208, 200) hsv(37, 6, 84)
Cobalt #d3d2cf rgb(211, 210, 207) hsv(45, 2, 83)
Nickel #d3cbbe rgb(211, 203, 190) hsv(37, 10, 83)
Iron #c4c7c7 rgb(196, 199, 199) hsv(180, 2, 78)
Titanium #c1bab1 rgb(193, 186, 177) hsv(34, 8, 76)

※ 色見本は金属光沢を表現していないため、つや消しの(マットな)色合いに見えます。

Blender 2.8 動画

オリンピックイヤー(2020年)だったので、Blender 2.8 で『金銀銅』動画を作ってみました。
チャンネル登録といいねをお願いします。😃