Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置和克隆的工作方式不同_Javascript_Three.js - Fatal编程技术网

Javascript 设置和克隆的工作方式不同

Javascript 设置和克隆的工作方式不同,javascript,three.js,Javascript,Three.js,我对三个js上的设置和克隆有一些疑问,我试图渲染一个场景,其中一个球体沿x轴移动,相机随着注视移动,我试图自己做《学习三个js》一书中的示例,但我没有使用克隆,我的场景也做了同样的操作,但我看不到球体,有了克隆人我可以看到球体有人能解释一下为什么会这样吗 以下是两个不同的代码: sphere.position.copy(new THREE.Vector3(x,10,0)); sphere.position.set(new THREE.Vector3(x,10,0)); 第一个显示球体,第二

我对三个js上的设置和克隆有一些疑问,我试图渲染一个场景,其中一个球体沿x轴移动,相机随着注视移动,我试图自己做《学习三个js》一书中的示例,但我没有使用克隆,我的场景也做了同样的操作,但我看不到球体,有了克隆人我可以看到球体有人能解释一下为什么会这样吗

以下是两个不同的代码:

sphere.position.copy(new THREE.Vector3(x,10,0));


sphere.position.set(new THREE.Vector3(x,10,0));

第一个显示球体,第二个不显示:S位置为
3。矢量3

看 及

Vector3.set
取3个值:数字
x
y
z


Vector3.copy
需要
Vector3
来详细说明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
执行第一行后,当您尝试使用
设置为参数而不是
(float,float,float)
时,它抛出了一个错误。我知道,但是如果我增加x轴,我就看不到使用Vector3.set的球体,但是使用Vector3.copy我可以看到