Как только я нажимаю свои собственные вершины на геометрию, геометрия является сплошным цветом, вместо того, чтобы иметь цветные тени.FlatShading на цветной пользовательской геометрии
Применяя этот код к THREE.PlaneGeometry
называется mesh
дает следующее затенение:
var light = new THREE.DirectionalLight(0xffffff, 1);
light.castShadow = true;
light.shadowDarkness = 0.5;
// ..
THREE.MeshLambertMaterial({ color: 0x66e6b0, shading: THREE.FlatShading });
// ...
mesh.receiveShadow = true;
mesh.castShadow = true;
Однако, когда я применяю тот же код на THREE.Geometry()
с пользовательских вершин и граней , геометрия сплошная черная. Как я могу настроить настраиваемую геометрию тем же оттенком, что и геометрия плоскости?
- Я могу использовать
THREE.MeshBasicMaterial
, но тогда на лицах больше нет теней. - Использование
vertexColors: THREE.FaceColors
и окрашивание каждого лица по-прежнему дает все черные. - A
THREE.AmbientLight
дает цвет, но затем на лицах нет теней.
Это fiddle случайно образованных лиц, имеющих одинаковый цвет. Вместо этого я бы хотел, чтобы у них были разные тени, потому что они имеют разные углы (как в приведенном выше изображении).
Вы можете предоставить jsfiddle? – gaitat
@gaitat jsfiddle добавлено – interpolack