如何给Three.js中的金戒指增加反射率?

How to add reflectivity to the golden ring in Three.js?

我有一个从搅拌机导出的金戒指网格的 stl 文件。当我将它导入三个 JS 并添加图像纹理以获得金色金属效果时,纹理没有正确应用。

有什么建议吗?

这是代码,

loader.load( objaddress, stladdress, function ( object ) {

    object.traverse( function ( child ) {

            if ( child instanceof THREE.Mesh ) {                               
                    material = new THREE.MeshPhongMaterial({map: new THREE.ImageUtils.loadTexture("Gold.jpg")});
                                child.material = material;

                      }

                  } );

这是我用过的 jpg 文件 url: http://cdn.designbeep.com/wp-content/uploads/2012/10/7.gold-textures.jpg

从外部文件加载几何体后,使用三个 js ShaderMaterial 为加载的几何体创建 material。在 ShaderMaterial 内部指定图像纹理以及平滑度、噪声、环绕以获得更好的外观和感觉。

供参考:http://threejs.org/docs/#Reference/Materials/ShaderMaterial

这是为几何体创建着色器的代码material,

var material = new THREE.ShaderMaterial({
                    uniforms: {
                       tMatCap: {
                            type: 't',
                            value: THREE.ImageUtils.loadTexture('Gold.jpg')
                        },
                        time: {
                            type: 'f',
                            value: 0
                        },
                        bump: {
                            type: 'f',
                            value: 0
                        },
                        noise: {
                            type: 'f',
                            value: .04
                        },
                        useNormal: {
                            type: 'f',
                            value: 0
                        },
                        normalScale: {
                            type: 'f',
                            value: .5
                        },
                        normalRepeat: {
                            type: 'f',
                            value: 1
                        } });