只要我將自己的頂點推到幾何體上,幾何圖形就是純色,而不是具有彩色陰影。對着色自定義幾何體的平面着色
應用此代碼到一個叫mesh
THREE.PlaneGeometry
給出了以下陰影:
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