发布于: 2024-5-3最后更新: 2024-8-4字数 00 分钟

type
status
date
slug
summary
tags
category
icon
password
 

📝 问题描述


最近在制作游戏特效时,遇到了一个需求:有一个粒子使用的是Mesh方式进行渲染,它是半透明的,并且我希望这个粒子能够双面渲染; 但现在当我使用基础Shader并开启双面渲染后,得到的效果并不符合预期:
notion image
( 正面单面渲染时是正常的 )
 
notion image
( 背面单面渲染时也是正常的 )
 
notion image
( 正面、背面同时出现在摄像机内就出错了 )
 
 
我们希望的正确效果应该是这样的:
notion image
 
 
 
 

🤗 解决步骤


这个问题的根本原因在于半透明物体的渲染顺序,关于这一部分的知识可以跳转至我的另一篇笔记:
🌐
半透明物体的渲染顺序问题
 
在这里我们主要采用的是“透明混合”的方式实现透明渲染(另一种方式是透明测试)
关键步骤:
notion image
将上述这些关键参数暴露在材质面板中:
notion image
对于半透明物体的双面渲染,我们需要关闭深度写入、开启深度测试、关闭面剔除 (设置为Cull Off),Blend Alpha设置为“透明叠加” (即【SrcAlpha, OneMinusSrcAlpha】),其他几个关于Blend RGB的参数则可以自行调节直至得到预期结果即可。
 
 
最终结果:
notion image
( 从各个角度观察都能得到正确的透明效果 )
 
notion image
 
 
 

📎 参考文章


🌐
半透明物体的渲染顺序问题

Loading...
半透明物体的渲染顺序问题

🌐半透明物体的渲染顺序问题

主要介绍了图形渲染中的半透明物体相关处理


虚拟现实——全景图片的制作方法

🗒️虚拟现实——全景图片的制作方法

全景图片的制作方法


公告
🎉热烈欢迎🎉
-- 欢迎来到大咩的小屋 ---
 
**近期更新**
  • 更新了一些摄影作品
  • 修复了游戏作品集里的视频预览失败问题
  • 新增了若干篇有关图形渲染和特效相关的文章