1

如果我在 three.js 中有一个应用了纹理(彩色纹理)的对象,例如汽车 - 我如何向表面添加部分反射,以便最终的材质可以说是闪亮的红色金属和场景的反射?

我熟悉使用额外的相机和立方体贴图来创建反射,但我不确定如何将其与对象现有材质相结合。

我使用的反射方法的一个例子可以在这里找到:

https://github.com/mrdoob/three.js/commit/4d1dd95d62ff48b1842bf4e3fe0c393f5bd6f4d6#commitcomment-1832509

如果可以组合材料,是否可以控制每个部分的不透明度(原始材料与反射)来控制表面的“反射”程度?

非常感谢

4

1 回答 1

2

是的,但控制表面反射程度的是 ,而reflectivity不是。opacity

见这个例子: http: //mrdoob.github.com/three.js/examples/webgl_materials_cubemap.html

编辑:此示例未显示应用于材质的纹理,但在上面的示例中,可以像这样添加:

var texture = THREE.ImageUtils.loadTexture( 'texture.jpg' );

var cubeMaterial1 = new THREE.MeshLambertMaterial( {
    color: 0xffffff,
    ambient: 0xffffff,
    map: texture,
    envMap: reflectionCube
} );

(旁注,cubeMaterial1在示例中是应用于网格的材料——尽管变量名称的选择不寻常。)

于 2012-09-11T15:00:11.160 回答