使用Shader Graph实现《塞尔达传说:旷野之息》风格的着色器

本文介绍了如何使用Unity的Shader Graph和轻量级渲染管线LWRP,复现《塞尔达传说:旷野之息》角色的着色效果。内容涵盖着色器的创建过程,包括法线映射、镜面高光、边缘光照和画笔描边效果。此外,还讨论了在Shader Graph和LWRP早期阶段遇到的问题及解决方案。
摘要由CSDN通过智能技术生成

本文转自Unity Connect
Unity的技术经理Ciro Continisio在Connect上分享创作模仿任天堂游戏《塞尔达传说:旷野之息》角色风格的着色器,受到不少用户的关注,本文将在分享制作该着色器的方法。

说明事项:

  • 该着色器使用Shader Graph着色器视图制作。
  • 使用了全新的轻量级渲染管线LWRP。
  • 由于目前LWRP和ShaderGraph着色器视图仍处于早期阶段,各自存在一些限制,本文将讲解如何使用技巧来解决这些限制问题。
  • 受客户端所限制,为了方便大家更好阅读理解,本文中着色器完整视图图片提供了下载,请在文末获得下载地址。

目标

我打算实现二个层级的着色器,它带有强光和阴影。我要以二种方法支持镜面光照:头发使用简单的颜色面片实现,而皮肤要通过画笔描边来定义。

你可以在下图看到二种方法的不同,塞尔达的衣服呈现了特有的画笔描边效果,而她的头发上的高光只是明亮颜色的硬块。
在这里插入图片描述
希望实现的着色示例效果

我还想实现面向太阳时出现的边缘光照效果,以及当光线在特定角度时出现的几乎全白的边缘,请注意图中塞尔达的耳朵、手指和右臂。

最后,我想支持高光、法线和发射贴图。

视图流程

下图是视图流程的概述,所有重要部分都根据功能用方块突出显示。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值