Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js:Gltf对象添加材质以使外观更好_Three.js_Textures_Shadow_Gltf - Fatal编程技术网

Three.js:Gltf对象添加材质以使外观更好

Three.js:Gltf对象添加材质以使外观更好,three.js,textures,shadow,gltf,Three.js,Textures,Shadow,Gltf,实际上,我正试图在three js r113中向我的Gltf对象添加一些材质,但我不知道如何正确使用材质参数和灯光,因为我在three js viewer中看到了我的对象。这就是我在Firefox中得到的 这就是我梦寐以求的 我想这就是我需要应用到代码中的值 以下是我如何添加gltf以及如何尝试添加材质: // Load a glTF resource of FENCE gltfLoader.load( 'Fence.gltf', function ( gltf ) { fe

实际上,我正试图在three js r113中向我的Gltf对象添加一些材质,但我不知道如何正确使用材质参数和灯光,因为我在three js viewer中看到了我的对象。这就是我在Firefox中得到的

这就是我梦寐以求的

我想这就是我需要应用到代码中的值

以下是我如何添加gltf以及如何尝试添加材质:

// Load a glTF resource of FENCE 
  gltfLoader.load( 'Fence.gltf', function ( gltf ) {
    fenceModel = gltf.scene;
    // fenceModel.traverse(function (child) {
    // if (child.isMesh) {
    //     child.material = new THREE.MeshLambertMaterial({
    //         color: 0xc07341, //light Brown
    //         reflectivity: 0,
    //         dithering: true
    //     });
    //   }
    // });
  });

  var ambientlight = new THREE.AmbientLight(0xffffff, 0.5 );
  scene.add( ambientlight );
实际上,我的地板只是一个gltf文件,没有任何材料。 也许我需要在我的地板上加一些阴影,然后我就可以看到栅栏的阴影了? 我需要一些帮助来理解如何在物体上产生更好的灯光效果。 谢谢,对不起,我的英语我用翻译来帮助我


Ps:我的gltf对象包含纹理。

我建议您首先将渲染器的属性设置为
THREE.sRGBEncoding
。此外,尝试在环境光旁边添加平行光。或者更进一步,尝试添加HDR环境地图,如以下官方示例所示:@Mugen87谢谢您的回答,我刚刚在围栏的左侧添加了一个平行光,这样更好。我也添加了这一行,但没有看到任何更改:renderer.outpunecoding=THREE.sRGBEncoding;如果我明白这是为了更好地使用RGB渲染我的对象?稍后我将尝试查看HDR环境地图,它似乎更复杂。