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;