Soy nuevo en three.js y me encontré con este problema. Hice un escaneo 3D de mi cara y solo me dio un archivo .obj. Si abro ese archivo en Meshlab, el modelo viene con color. Pero después de cargarlo en three.js, no tiene textura.
// Loader const loader = new OBJLoader(); loader.load( './models/scene.obj', function ( OBJ ) { var boundingBox = new THREE.Box3().setFromObject( OBJ ); boundingBox.getCenter( OBJ.position ).negate(); scene.add( OBJ ); }, function ( xhr ) { console.log( ( xhr.loaded / xhr.total * 100 ) + '% loaded' ); }, function ( error ) { console.log( 'An error happened' ); } );Así es como se ve mi modelo 3D en three.js
también es unilateral del lado equivocado
También probé esta solución pero no funciona. Aparece "Ha ocurrido un error" sin explicación
objLoader.load('assets/faceimage9.obj', function(object) { scene.add(object); object.traverse(node => { if (node.material) { node.material.vertexColors = true; } }); });¡Gracias por sus respuestas!
Editar: mi .obj se ve así al principio ~ 50000 líneas
y luego me gusta 
Aquí está el .obj completo https://drive.google.com/drive/folders/1x9MaZVWHTa-wSDkv8xzdRKU-ASPuJLOw?usp=sharing
El activo OBJ define colores de vértice en el rango [0,255] que no es compatible con THREE.OBJLoader . Los datos de color deben definirse en el rango normalizado [0,1]. Desafortunadamente, la especificación OBJ no menciona los colores de los vértices, por lo que las aplicaciones no exportan dichos datos de manera consistente.
Una solución simple para mejorar la representación de su activo en three.js es esta:
objLoader.load('assets/faceimage9.obj', function(object) { scene.add(object); object.traverse(node => { if (node.material) { node.material.side = THREE.BackSide; } }); });De esta forma, las caras deberían mostrarse correctamente (pero sin colores de vértice).