以下添加光助手的方法可以正常工作:
var light = new THREE.SpotLight( 0xFFFFFF );
light.position.set(100,100,100);
scene.add(light);
var helper = new THREE.SpotLightHelper( light );
scene.add(helper);
但是以下会导致助手离开位置:
var wrapper = new THREE.Object3D();
wrapper.position.set(100,100,100);
var light = new THREE.SpotLight( 0xFFFFFF );
wrapper.add(light);
var helper = new THREE.SpotLightHelper( light );
wrapper.add(helper);
scene.add(wrapper);
似乎辅助位置是从绝对光位置到场景,但是从它的包装中应用,这意味着它实际上被应用了两次,因此不匹配光的实际位置。在此示例中,帮助程序将出现在(200,200,200)上。同样适用于PointLight和其他可能的灯光类型。
是否可以将辅助工具与光一起放入包装中并避免位置问题?
答案 0 :(得分:1)
Light Helpers就是那个 - 助手。
必须将它们添加为场景的孩子。
考虑该要求是一项功能。 : - )
three.js r.69