three texture sphere raycaster three.js geometry updates vertices

three.js - texture - Cómo actualizar la posición del vértice Geometry Objloader



three js rotation (1)

OBJLoader devuelve BufferGeometry . Puede actualizar una posición de vértice como esta:

geometry.attributes.position.setX( index, x ); geometry.attributes.position.setXYZ( index, x, y, z ); // alternate geometry.attributes.position.needsUpdate = true; // only required if geometry previously-rendered

Estudie http://threejs.org/docs/#Reference/Core/BufferAttribute

En cambio, puede convertir a Geometry . En su caso, haga lo siguiente en la devolución de llamada del cargador:

child.geometry = new THREE.Geometry().fromBufferGeometry( child.geometry );

Luego actualiza una posición de vértice usando este patrón:

geometry.vertices[ 0 ].set( x, y, z ); geometry.verticesNeedUpdate = true;

Solo configure el indicador needsUpdate si la geometría se ha renderizado previamente.

three.js r.71

Estoy usando objloader para cargar múltiples objetos. Intento mover uno de los objetos y necesito tener las posiciones de vértices actualizadas. al cargar los objetos, convertí la geometría del buffer en geometría y ejecuté algunas funciones. Comprobé algunas muestras, todas actualizando los vértices de la geometría del buffer. ¿Debo volver a convertirlo en buffergeometry o no? Necesito tener las posiciones de tiempo real mientras me muevo para calcular algunas otras funciones, así que prefiero no seguir convirtiendo de buffer a geometría y viceversa.

Aquí hay un fragmento de código:

var tool= new THREE.OBJLoader(); tool.load( ''../obj/tool.obj'', function ( object ) { var material = new THREE.MeshLambertMaterial({color:0xA0A0A0}); object.traverse( function ( child ) { if ( child instanceof THREE.Mesh ) { child.material = material; Geometry = new THREE.Geometry().fromBufferGeometry(child.geometry); } console.log(Geometry.vertices[220]); Geometry.position.x += 0.01; Geometry.verticesNeedUpdate = true; console.log(Geometry.vertices[220]);

Además, revisé el documento de migración de las últimas versiones y las revisé.