Blenderで作成し、gltfファイル(テクスチャ込み)として出力したモデルデータを
Three.jsでライトマップを適用した状態で表示したいと思っています。
モデルデータ内には4つのマテリアルが存在し、すべてにライトマップを追加したいです。
全てをまとめたライトマップ用のUVを作成し、ライトマップの画像は作成できています。
現状
以下のように記述し、とりあえずライトマップ無し状態では問題なく表示されています。
var loader = new THREE.GLTFLoader(); loader.load('./models/Room.gltf', function (data) { var lightmap = new THREE.TextureLoader().load('./models/lightmap.jpg'); //これをどうすれば…… scene.add(data.scene); });
調べたこと
three.jsでライトマップを使う方法を調べているのですが、
(例えばこちら https://qiita.com/Arihi/items/aea393bec18a08282be3)
コード内でマテリアルを作成しているサンプルしか見つけられず
・既存のマテリアルにライトマップを追加する方法
・複数マテリアルにライトマップを追加する方法
が見つけられません。
dataからマテリアルを配列として取得して、それにライトマップを追加する……
みたいな流れなのかなと想像しているのですが、記述の仕方が分かりません。
補足情報
Three.jsのバージョンは105です
よろしくお願いします。
あなたの回答
tips
プレビュー