【unityshader小实例】 轮廓外发光(光晕)

本文通过介绍发光效果的原理,讲解如何在Unity中手写shader来实现模型轮廓外的光晕(外发光)效果。原理是将物体顶点沿法线方向延伸,利用视角法线与物体法线的点积产生亮度衰减,结合贴图或颜色填充,形成中间亮四周暗的光晕。在处理透明通道时需注意渲染顺序。
摘要由CSDN通过智能技术生成

发光效果

外发光(光晕):在模型轮廓外形成逐渐衰减的光
outGlow

生成光晕的原理

原理并不复杂:
让物体的顶点位置沿着法线方向延伸,然后使用视角法线点积物体法线的方式形成一个中间最亮向四周扩散亮度逐渐衰减的效果,再给物体贴上贴图或者填上色盖住物体内部的光晕,我们就实现了轮廓外发光

手写unity shader实现光晕(外发光)

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'

// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'

// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'

Shader "Shader Learn/OutLighting"  //Shader文件索引路径
{
    // 属性
    Properties
    {
        _MainTex("Texture(RGB)", 2D) = "grey" {} //表面贴图 默认灰色
        _Color("Color", Color) = (0, 0, 0, 1)    //为贴图附加的颜色 默认为白色
        _AtmoColor("Atmosphere Color", Color) =
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值