繁体   English   中英

Three.js 阴影

[英]Three.js drop shadow

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM