2015-04-06 117 views
1

我想克隆一些Vector3,但克隆方法所製作的副本由x,y和z值中的所有零組成。舉個例子:Threejs克隆方法

這種說法

的輸出是

LabeledVertex {x: -0.5, y: 0.5, z: 2.6745e-12, label: "U", constructor: function…} 

(LabeledVertex僅僅是THREE.Vector3的擴展)

如果我克隆這最後一個 position = this.geometries[j].vertices[i].clone().multiplyScalar(1); 內部位置的內容是:THREE.Vector3 {x: 0, y: 0, z: 0, constructor: function, set: function…}. 正如你所看到的是全零。這發生在Threejs的r71版本中。

+0

這將產生對我來說是正確的結果: 'VAR V1 =新三。 Vector3(1,2,3);' 'var v2 = v1.clone()。multiplyScalar(2);' – gaitat

回答

2

總會提供新的載體,如果你想與計算,或克隆ITN拳頭,在新的語法後,用它計算:

var v2 = v1.clone(); 
v2 = v2.multiplyScalar(2); 

//or 

v2 = new THREE.Vector3(v1.x,v1.y,v1.z).multiplyScalar(2); 
+0

這是怎麼回事? – gaitat

+0

如果你想用新的語法進行計算,或者克隆它的拳頭,並在新語法後用它計算,總是要製作新的矢量 – Martin