我对三个js上的设置和克隆有一些疑问,我试图渲染一个场景,在这个场景中,球体移动了x轴,相机跟随着lookAt的移动,我试着自己在书中做了一个学习三个js的例子,但是我没有使用克隆,我的场景也是这样,但是我看不到球体,用克隆,我可以看到球体,有人能解释为什么会这样吗?
这里是两个不同的代码:
sphere.position.copy(new THREE.Vector3(x,10,0));
sphere.position.set(new THREE.Vector3(x,10,0));
第一个表示球体,第二个不显示:S。
发布于 2016-06-23 05:40:09
发布于 2016-06-23 05:51:03
为了详细说明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;
}
您将inna固有参数传递给set
函数,因此它在内部抛出一个错误。按下chrome中的ctrl+shift+i
检查控制台,您可能会看到,当它使用copy
执行第一行罚款后,当您尝试使用(THREE.Vector3)
作为参数而不是(float,float,float)
执行set
时,它会抛出一个错误
https://stackoverflow.com/questions/37993144
复制