I am trying to establish why I cannot smooth the shadow geometry loaded by OBJLoader.
var loader = new THREE.OBJLoader(manager);
loader.load('/manmodel/js/man.obj', function (object, materials) {
console.log(object);
console.log(materials);
man = object;
man.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.geometry.computeFaceNormals();
child.geometry.computeVertexNormals( true );
child.material = new THREE.MeshPhongMaterial({
color: 'white',
shading: THREE.SmoothShading
});
}
});
man.position.y = -10;
scene.add(man);
});
This is the result:

If I delete the line computeFaceNormals (), the model displays the same. If I remove computeVertexNormals (true), the object displays without lighting (black) - so I know that it does something.
If I change the color attribute of MeshPhongMaterial in this code, the color changes, so I also know that it works.
I tried using the top and normal helpers to find out what the problem is, but they fail because with BufferGeometry, faces and vertices are not saved as arrays.
I also tried changing the man.obj file to change the 's' values from 'off' to 1. This did nothing.
.obj , Blender, 2 , , "" , .
(): - ? ,
.obj , , , BufferGeometry?
. .