【Unity Shaders】Lighting Models —— 衣服着色器

本系列主要参考《Unity Shaders and Effects Cookbook》一书(感谢原书作者),同时会加上一点个人理解或拓展。

这里是本书所有的插图。这里是本书所需的代码和资源(当然你也可以从官网下载)。

========================================== 分割线 ==========================================




写在前面


布料(Cloth)是另一种非常常见的着色需求,在很多实时游戏中都需要它来实现更真实的交互体验。它涉及到如何让布料的纤维合适地分散整个表面的光照,使它看起来像布料一样。布料的渲染非常依赖视角的变化,因此我们将学习一些新的技巧来模拟光扫射到布料上的效果,并且那些细小的纤维还能产生与众不同的边缘光照效果。


这篇将会介绍两种新的概念:细节法线贴图(Detail normal maps)和细节贴图(Detail textures)。通过把这两种法线贴图结合到一起,我们可以得到一种更高层次的细节表现,并且可以存储在一张2048*2048的贴图中。这种技术可以帮助我们模拟表面那种非常细微层次的凹凸不平的感觉,以此来分散整个表面的高光反射。


下面显示了本节最终得到的布料着色器效果:




准备工作


这个Shader需要结合3种不同类型的贴图来模拟布料效果:

  • 一张细节法线贴图(
  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 37
    评论
引用中提到了一种使用草地着色器的方法,该方法通过传递透明度贴图和顶点色来控制草的形状和颜色。这种方法可以有效减少DrawCall的数量,并且通过传递顶点的法线可以产生不同的受光效果。这样的草地着色器可以实现草地的交互效果。 另外,引用中提到了一些草地着色器的拓展性功能,例如延迟恢复、画笔工具、风压控制和引燃效果等。这些功能可以进一步增强草地的交互效果。 而引用中提到了草地着色器的优化方法。草地在风中会有规律性的摆动,因此需要生成具有规律的系数来控制草的宽度和高度。通过这种方法,可以实现个体上的随机性和整体上的一致性动画效果。 综上所述,Unity的草地着色器可以通过传递透明度贴图和顶点色来控制草的形状和颜色,并可以通过拓展性功能实现更多的交互效果。另外,通过优化草地着色器,可以实现草地在风中的规律性摆动效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [UnityShader[4]几何着色器与可交互草地](https://blog.csdn.net/Thanatos_Left/article/details/126141627)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值