three.jsシーンにCubeGeometryベースのメッシュがいくつかあり、それらはすべて、グローバルに使用しているPointLightを反映しています。ただし、そのうちの1つは、THREE.Geometry(コードで頂点と面を追加)だけを使用して「手作業」で作成されたものではありません。色がなくても、MeshPhongMaterialでTHREE.Colorを「emissive」キーに設定した場合にのみ、この色を設定できます。
JS関数によって動的に作成されたジオメトリ。私はこのlitghsを使用しています:
pointLight = new THREE.PointLight(0xFFFEF0, 1, 100000)
pointLight.position = camera.position;
scene.add(
pointLight
);
そして、私はこのコードで前述のメッシュを作成しています:
var floor = new THREE.Mesh(
ShelfArchitect.Utils.getFloorGeometry(walls),
new THREE.MeshPhongMaterial(materialParams)
);
MaterialParamsに何かを追加する必要がありますか?または何が問題ですか?