【问题标题】:Three.js drop shadowThree.js 投影
【发布时间】:2013-09-05 17:00:52
【问题描述】:

我想知道是否有一种方法可以在没有“地面”平面的情况下投射阴影。 我想这样做是因为相机可以围绕物体移动,并且看到它穿过地面会很难看。

我正在使用 Three.js 最新版本的 WebGl 渲染器。

【问题讨论】:

    标签: javascript three.js webgl shadow


    【解决方案1】:

    是的,这可以通过将 ShadowMaterial 应用于平面几何体来实现。这种材质可以接收阴影并且是完全透明的。因此,您只需将平面几何体定位在场景中的所需位置,就可以开始了。看看这个。 https://threejs.org/docs/#api/en/materials/ShadowMaterial

    【讨论】:

      【解决方案2】:

      这在技术上是不可能的,你可以编写一个在透明平面上渲染阴影的着色器,这样当“相机”穿过平面时你不会注意到它,只有当它穿过阴影本身时才会注意到。

      为此,您可以在像素着色器中的阴影比率和透明黑色或白色之间进行调整,然后在渲染上下文中设置相应的混合状态。

      【讨论】:

      • 如果我旋转对象而不是相机怎么办?能行吗?
      • 这是应用程序设计的问题,不是吗?我的意思是,如果它达到了所需的外观,那么只需旋转对象。
      猜你喜欢
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      • 2019-01-14
      相关资源
      最近更新 更多