我对三个j上的Set和clone有一些疑问,我试图渲染一个球体移动到x轴的场景,然后相机跟着看起来移动,我试着自己做书上学习的例子三个js,但我没有使用克隆和我的场景做了同样但我看不到球体,克隆我可以看到球体可以有人解释我为什么会发生?
这是两个不同的代码:
sphere.position.copy(new THREE.Vector3(x,10,0));
sphere.position.set(new THREE.Vector3(x,10,0));
第一个显示球体第二个不是:S
答案 0 :(得分:2)
详细说明Derte所说的内容 - set
基本上就像
function set(_x,_y,_z){
this.x = _x;
this.y = _y;
this.z = _z;
}
而copy
的作用类似于:
function copy(v3){
this.x = v3.x;
this.y = v3.y;
this.z = v3.z;
}
你将不合适的参数传递给set
函数,因此它在所有可能性内部都会抛出错误。点击Chrome中的ctrl+shift+i
来检查控制台,你可能会看到它在使用copy
执行第一行之后,当你尝试用set
(THREE.Vector3)
时,它会抛出错误{1}}作为参数而不是(float,float,float)
答案 1 :(得分:1)