答案 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应该会更好用,所以示例已经更新以反映出来。