我想知道是否有一种方法可以在没有投影的“地面”平面的情况下投影阴影。我想这样做是因为相机可以围绕物体移动,并且看到它穿过地面会很难看。
我将 Three.js 最新版本与 WebGl 渲染器一起使用。
我想知道是否有一种方法可以在没有投影的“地面”平面的情况下投影阴影。我想这样做是因为相机可以围绕物体移动,并且看到它穿过地面会很难看。
我将 Three.js 最新版本与 WebGl 渲染器一起使用。
这在技术上是不可能的,你可以编写一个在透明平面上渲染阴影的着色器,这样当“相机”穿过平面时你不会注意到它,只有当它穿过阴影本身时才会注意到它。
为此,您可以在像素着色器中的阴影比率和透明黑色或白色之间调整,然后在渲染上下文中设置相应的混合状态。
是的,这可以通过将 ShadowMaterial 应用于平面几何体来实现。这种材质可以接收阴影并且是完全透明的。因此,您只需将平面几何体定位在场景中的所需位置,您就可以开始了。看看这个。https://threejs.org/docs/#api/en/materials/ShadowMaterial