【问题标题】:Three.js : Image Based Lighting (IBL)Three.js:基于图像的照明(IBL)
【发布时间】:2015-11-20 19:21:37
【问题描述】:

我正在寻找将 IBL 添加到我的场景和对象。但我在网上找不到任何东西。有一些使用 envMap 的示例,但问题是使用 envMap 的对象看起来像 chrome...

我正在尝试产生这样的效果:

我发现您可以使用 IBL(基于图像的照明)、PRT(预计算辐射传输)或 PBR(基于物理的渲染)。但是我不知道如何在three.js中使用这种效果。

[编辑]

使用r74dev 中的新MeshStandardMaterial 后,我可以得到以下结果: (前) (后)

但我不能将MeshStandardMaterialenvMap 与纹理一起使用。纹理或MeshStandardMaterial 都不起作用。

【问题讨论】:

  • 在开发分支 r.74dev 中尝试 MeshStandardMaterial。该材质的环境贴图被视为 IBL。
  • 是否可以将它与使用纹理的 dae 文件一起使用?

标签: three.js


【解决方案1】:

感谢 WestLangley,我正在使用 MeshStandardMaterial

var objectGeometry = new THREE.SphereGeometry( 10, 100, 100 );  
material  = new THREE.MeshStandardMaterial({envMap : textureSkydome});

(r74dev)

【讨论】:

    【解决方案2】:

    也许您可以使用光照贴图。您可以通过设置material.lightmap = someLightmapTexture 将它们与THREE.MeshPhongMterial 一起使用。重要 - 您需要几何体中的第二组 UV 才能使用光照贴图。

    看看这个example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 2016-10-27
      • 2011-01-29
      • 2016-03-07
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多