Three.js - 获得低聚外观

Wil*_*hoe 3 html javascript 3d three.js

我试图以低聚风格生成一些地形,供参考,这种风格:

我的意思是每个三角形都是一个阴影.

当我尝试这样的东西时,阴影非常平滑.这是一个只有几个三角形的例子:

http://www.willdonohoe.com/stackoverflow-images/smooth-shading.png

我也试过添加阴影,但这也没有产生预期的效果.这是一个更多三角形添加阴影的镜头:

http://www.willdonohoe.com/stackoverflow-images/added-shadows.png

通过三个文档,材质类的着色属性听起来就像它可以做到的那样,但是THREE.FlatShading和THREE.NoShading似乎没有任何效果.

我需要使用一种特殊的技术来创造这种效果吗?你可以指出我的方向任何方向将非常感激.

你可以在这里找到我的第一个演示

非常感谢,

Wes*_*ley 7

编辑:这个答案已经过时了.更新:

material.shading = THREE.FlatShading现在material.flatShading = true.

你修改了你的顶点位置PlaneGeometry.

要使用生成平面着色MeshLambertMaterial,必须通过调用更新法线

geometry.computeFlatVertexNormals();
Run Code Online (Sandbox Code Playgroud)

对于其他材料,只需设置material.flatShading = true即可获得平整外观.

three.js r.87