银色抛光材料,三个js

时间:2017-07-11 08:25:37

标签: javascript three.js material

我是三个j的新手,并试图像这样创建一个立方体: 3D Cube 我无法弄清楚如何为我的立方体创建材料。这种材料似乎是银抛光的。它有反射和漂亮的边缘。你能不能帮我找出哪些参数会给我这样的结果?

2 个答案:

答案 0 :(得分:5)

您想在three.js中创建一个银色抛光材料。

MeshStandardMaterial是一种基于物理的材料,专为此目的而设计。

var material = new THREE.MeshStandardMaterial( {
    metalness: 1,   // between 0 and 1
    roughness: 0.5, // between 0 and 1
    envMap: envMap,
} );

请务必指定环境地图,以便有所反映。根据自己的喜好调整其他参数。

three.js r.86

答案 1 :(得分:3)

使用THREE.MeshPhongMaterial()并将envMap属性设置为要用于反射的相机的renderTarget。 对于抛光外观,您可以在specularMap属性(甚至是specular属性)中使用纹理。

通过调用geometry.computeVertexNormals()完成平滑边缘。

修改:正如@ prisoner849所述,{<1}}需要在申请材料之前调用

编辑2 :根据@ prisoner849的要求,这是一个working example

编辑3 :使用computeVertexNormals提到的@WestLangley应该会更好用,所以示例已经更新以反映出来。