三个js添加光onclick

时间:2014-12-11 21:54:16

标签: javascript three.js

我已经用Lambert材料正确加载了球体网格。

我想在点击交叉点的位置添加光源。

target =点击了对象。 我点击的to = vector3。

在dblclick事件监听器上我做:

var newLight = new THREE.PointLight( 0x808F8F,20 );
newLight.position.set(to.x,to.y,to.z);
scene.add( newLight );
newLight.updateMatrix();
newLight.updateMatrixWorld();
target.material.needsUpdate = true;

但没有任何反应,只有当我将antoher对象添加到场景中时光才可见,而不是在我点击的目标对象上。

我如何强制重新计算目标物体上的光源?

1 个答案:

答案 0 :(得分:0)

我最近遇到了一个非常类似的问题,你需要更新受灯光影响的所有材料。 例如:

for(i in scene.children){
    if(scene.children[i].material) scene.children[i].material.needsUpdate = true;
}