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 如何在threejs中使用verticesNeedUpdate更新3D立方体的纹理?_Javascript_Three.js - Fatal编程技术网

Javascript 如何在threejs中使用verticesNeedUpdate更新3D立方体的纹理?

Javascript 如何在threejs中使用verticesNeedUpdate更新3D立方体的纹理?,javascript,three.js,Javascript,Three.js,上述代码不会更改屏幕上显示的顶点。 在这段代码中,我应该将verticesNeedUpdate放在哪里才能看到所显示立方体的已更改顶点位置?您应该阅读以下内容: 以下是一个工作示例: var geometry = new THREE.BoxGeometry( 500, 500, 500 ); scene.add( geometry ); var geo = new THREE.EdgesGeometry( geometry ); scene.add( geo ); var mat = new

上述代码不会更改屏幕上显示的顶点。
在这段代码中,我应该将
verticesNeedUpdate
放在哪里才能看到所显示立方体的已更改顶点位置?

您应该阅读以下内容:

以下是一个工作示例:

var geometry = new THREE.BoxGeometry( 500, 500, 500 );
scene.add( geometry );

var geo = new THREE.EdgesGeometry( geometry );
scene.add( geo );

var mat = new THREE.LineBasicMaterial( { color: 0xffffff, linewidth: 2 } );
scene.add( mat );

var wireframe = new THREE.LineSegments( geo, mat );
scene.add( wireframe );

geometry.vertices[0].set( 30, 100, 3 );
geometry.verticesNeedUpdate = true;

geometry.vertices[1] = new THREE.Vector3( 300, 300, 3 );
geometry.verticesNeedUpdate = true;

camera.position.z = 1000;        
renderer.render(scene, camera);

PS:您只需将Object3D添加到场景中,而不是几何体和材质

当然,这是我去年用飞机做的一个例子:
var geo = new THREE.EdgesGeometry( new THREE.BoxGeometry( 500, 500, 500 ) );
var mat = new THREE.LineBasicMaterial( { color: 0xffffff, linewidth: 2 } );
var wireframe = new THREE.LineSegments( geo, mat );
scene.add( wireframe );

wireframe.geometry.attributes.position.array[0] = 300;
wireframe.geometry.attributes.position.array[1] = 300;
wireframe.geometry.attributes.position.array[2] = 3;
wireframe.geometry.verticesNeedUpdate = true;