| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> unity shdaer - 透明效果[ZWrite ZTest Blend Cull] -> 正文阅读 |
|
[游戏开发]unity shdaer - 透明效果[ZWrite ZTest Blend Cull] |
Alpha Channel 透明通道
Alpha Test 透明度测试
Alpha Blending 透明度混合
ZWrite 深度写入
深度写入
· 开启的话,根据深度缓存中的值来判断改元片距离摄像机的距离。渲染的时候,需要和已经存在于
深度缓冲中的值进行比较, 如果距离相机更远,则不会渲染
· 不开启,根据渲染顺序进行渲染。关闭写入,需要注意渲染顺序
开启深入写入的半透明效果
两个pass实现
1 第一个pass , 开启深度写入, 只把深度信息缓冲,不渲染颜色(ColorMask : 0)。得到正确逐像素的正确深度信息
2 第二个pass , 关闭深度写入,正常透明度混合,按照逐像素的深度排序结果进行透明渲染
实现的效果:实现模型与它后面的背景混合, 但是模型内部之前不会有半透效果
ShaderLab 的混合命令
混合因子
混合操作
常见的操作结果
Blend SrcAlpha OneMinusSrcAlpha
// Alpha混合
Blend One One
// 相加
Blend One OneMinusDstColor
// 比较柔和的相加(SoftAdditive)
Blend DstColor Zero
// 乘法
Blend DstColor SrcColor
// 2倍乘法
//变亮
BlendOp Max
Blend One One
//变暗
BlendOp Min
Blend One One
//滤色
Blend OnMinusDstColor One
Blend One OnMinusSrcColor
//线性减淡
Blend One One
双面渲染的透明效果
Cull指令
CullOff 关闭剔除,所有的渲染图元都会被渲染
Cull Front 剔除正面
Cull Back 剔除背面
【正面和背面的定义: 朝向相机的一面为正面, 背对相机的一面为反面】
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 23:31:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |