Koo叔说Shader-描边效果

本文介绍了在游戏开发中常见的描边效果实现方法,通过两个pass,利用法线外拓的技术在屏幕空间中创建描边。首先绘制比模型大一圈的填充,然后正常绘制贴图,以此达到描边效果。作者还探讨了透视问题和法线矩阵在其中的作用,并提供了配套代码的获取途径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

描边效果,在游戏中比较常见,实现方式也有好多种,今天主要讲一下比较容易理解的一种,需要用到两个pass实现。

描边效果

先看效果:
这里写图片描述
这个描边效果比较简单,这个动的贴图是屏幕空间计算的,顺便也说说屏幕空间计算。

原理分析

  • 利用两个pass,第一个pass先画比模型大一圈的填充,第二个pass正常画贴图
  • 屏幕空间是取屏幕空间的点来实现一些特殊效果

具体实现

Shader "Unlit/Outline and ScreenSpace texture"
{
    Properties
    {
        [Header(Outline)]//Inspector显示分类标题
        _OutlineVal("Outline value",Range(0.,2.)) = 1.//自定义描边大小
        _OutlineCol("Outline color",Color) = (1.,1.,1.,1.)//描边颜色
        [Header(Texture)]
        _MainTex ("Texture", 2D) = <
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值