みかづきブログ・カスタム

基本的にはちょちょいのほいです。

Three.jsでスフィアマッピングを使って光表現をベイクする(THREE.MeshMatcapMaterial) 🔦

MeshMatcapMaterial をつかって、光表現のベイクを検証しました。

基本的には、 こちらのドキュメントこちらのサンプル の通り実装した感じです。

threejs.org
threejs.org

ソースコード(抜粋)

const matcap = new THREE.TextureLoader().load('/img/matcap/matcap-porcelain-white.jpg'); // ベイク用の画像を設定

matcap.encoding = THREE.sRGBEncoding;

const mesh = new THREE.Mesh(
  new THREE.SphereGeometry(1, 32, 32),
  new THREE.MeshMatcapMaterial({
    matcap,
    map: new THREE.TextureLoader().load('/img/matcap/texture.png') // テクスチャー用の画像を設定
  })
);

scene.add(mesh);

matcap用の画像は こちら をお借りし、テクスチャー用の画像は こちらを利用しました。

matcap-porcelain-white.jpg

https://threejs.org/examples/textures/matcaps/matcap-porcelain-white.jpg

texture.png

https://kimizuka.org/img/matcap/texture.png