Three.js - 获得低聚外观

时间:2014-08-21 13:49:09

标签: javascript html5 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似乎没有任何效果。

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

您可以找到我的第一个演示here

非常感谢,

威尔

1 个答案:

答案 0 :(得分:7)

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

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

您修改了PlaneGeometry的顶点位置。

要使用MeshLambertMaterial生成平面着色,您必须通过调用

更新法线
geometry.computeFlatVertexNormals();

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

three.js r.87