【Godot4筆記】2D光照效果及陰影



????????在場景中創(chuàng)建Sprite2d,屬性面板中Texture選擇新建CanvasTexture,設(shè)置Diffuse(使用原圖片)、NormalMap(使用原圖的法線貼圖)圖片,在該Sprite2d節(jié)點(diǎn)下新建子節(jié)點(diǎn)LightOccluder2D,用來形成陰影,選中LightOccluder2D節(jié)點(diǎn)在2D界面編輯窗口繪制遮擋范圍。可以右鍵這個(gè)Sprite2D節(jié)點(diǎn),“將分支保存為場景”,復(fù)制多個(gè)后,方便統(tǒng)一修改。


????????添加燈光,創(chuàng)建一個(gè)用于代表光源中心的Sprite2D,然后在該節(jié)點(diǎn)下創(chuàng)建兩個(gè)PointLight2D節(jié)點(diǎn)分別設(shè)置光照貼圖,一個(gè)用于照出物體亮面,命名為SpriteLight,一個(gè)用于正常照亮生成陰影,命名為ShadowLight(*這樣做是為了解決Godot的問題,詳見參考視頻),然后將ShadowLight節(jié)點(diǎn)屬性Range設(shè)置為20(只要不與SpriteLight同級即可),勾選Shadow屬性中的Enabled。
???????? 創(chuàng)建一個(gè)用作背景的Sprite2D,也將節(jié)點(diǎn)屬性Range設(shè)置為20(與ShadowLight保持一致)。


參考:
【odot 4.0: Proper lighting setup for topdown 2D】https://youtu.be/4-DffHmFaPY
【unity技術(shù)教程2D法線貼圖-給你的游戲增加質(zhì)感!】https://www.bilibili.com/video/BV1a54y1e7DT/?share_source=copy_web&vd_source=64dc2a97b2c2fff4db1377a5bb4fcd26&t=250