Utworzono niestandardową geometrię w pliku Three.js. Teraz chciałbym stworzyć siatkę, która wykorzystuje materiał Lambert o gładkiej warstwie. Za pomocą pętli, mam stworzył tablicę wierzchołków, a następnie twarze, a potem nazwałemThree.js - problemy z płynnym cieniowaniem materiału Lamberta na niestandardowej geometrii
geometry.computeCentroids();
geometry.computeFaceNormals();
geometry.computeVertexNormals();
var colorMaterial = new THREE.MeshLambertMaterial({color: 0x0000ff, side: THREE.DoubleSide});
var mesh = new THREE.Mesh(geometry, colorMaterial);
scene.add(mesh);
Rezultatem jest niemal doskonały, oprócz tego, że wydaje się, że materiał jest za pomocą shading: THREE.FlatShading
jak widać poniżej:
, podczas gdy spodziewałem się domyślnego wyglądu, który normalnie oczekuje od shading: THREE.SmoothShading
. Co muszę dodać/zmienić, aby uzyskać gładkie cieniowanie Lamberta?
(Jeśli to nie pomaga, kompletnym przykładem na żywo jest http://stemkoski.github.io/Three.js/Marching-Cubes.html oraz geometrii i siatki są tworzone wokół linii 250-280).
Idealne, wielkie dzięki! Zasługujesz na znaczek geniusza StackOverflow three.js :) –