簡體   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