unity 阴影接收器
时间: 2023-09-09 21:06:44 浏览: 53
在Unity中,阴影接收器是指能够接收其他物体投射的阴影的物体。为了实现阴影效果,我们需要在shader中对阴影映射纹理进行采样,并将采样结果与最终的光照结果相乘,从而产生阴影效果。\[1\]
在实时渲染中,Unity使用ShadowMap技术来计算光源的阴影映射纹理。首先,将相机的位置放置在光源的位置上,这样阴影区域就是相机看不到的地方。Unity会为光源计算阴影映射纹理,它本质上是一张深度图。为了更新映射纹理,需要在shader中添加一个额外的pass,并将LightMode设置为"ShadowCaster",只有这样才能投射阴影。\[2\]
然而,在之前的fallback中提供的shadowcaster实现往往不能实现透明物体的阴影。因此,在透明度测试的shader中,我们需要添加关于阴影的计算,并将fallback修改为vertexlit,以确保透明物体的阴影计算正确。\[3\]
#### 引用[.reference_title]
- *1* [shader学习摘要(九)unity阴影](https://blog.csdn.net/overwhelming_kda/article/details/126428963)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [UnityShader入门精要-阴影](https://blog.csdn.net/weixin_58624886/article/details/126124585)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]