unity2d 投影_unity2D解决阴影透明度叠加的问题
前言
添加阴影是中提高画面质感有效的方式。
之前在自己的2D游戏里面添加阴影有时候遇到这样的问题,半透明的阴影重叠起来之后透明度也叠加了。
这并不是我想到要的效果。
我希望的重叠的阴影透明度保持统一。
第一种方法
专门创建一个照场景物体的相机,把照相机的画面渲染到一个render texture中,然后把rendertexture变成黑色边投影作为阴影。
这样的操作过程有点麻烦但是好处是可以对阴影添加各种效果。
因为它就是个图片。
shadowcamera参数:
需要注意的是shadowcamera的位置最好和游戏的主摄像机位置一致,这样方便对齐阴影。
rendertexture参数
rendertexture的size需要和屏幕高宽比一致,这样阴影的比例才是正确的。
Plane参数
在主场景中我使用了Plane做为阴影的图片显示,并且做了一个简单shader来调整阴影的颜色和透明度。
shader的代码如下:
Shader "Custom/Shadow"
{
Properties
{
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Color ("Color", Color) = (1,1,1,1)
}
SubShader
{
Tags
{ "Quene" = "Transparent"
"IgnoreProjector" = "True"
"RenderType" = "TransparentCutout"
}
Pass{
Tags{ "LightMode" = "ForwardBase" }
ZWrite Off
Cull Off
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#include "UnityCG.cginc"
#pragma vertex vert_img
#pragma fragment frag
fixed4 _Color;
sampler2D _MainTex;
float4 _MainTex_ST;
fixed _AlphaScale;
fixed4 frag(v2f_img i) : COLOR
{
fixed4 color = tex2D(_MainTex, i.uv);
_Color.a *= color.a;
return (_Color);
}
ENDCG
}
}
}
最终效果如下:
unity2d 投影_unity2D解决阴影透明度叠加的问题相关推荐
- OpenGL.Shader:12-阴影实现 - 解决阴影失真
OpenGL.Shader:12-阴影实现 - 解决阴影失真 紧接上文的内容,那么怎么解决阴影失真的问题呢?这些问题其实都是不可回避的存在,现代技术只能尽量优化效果已达以假乱真的效果. 首先回到深度纹 ...
- 用opencv实现两张半透明png图片以一定透明度叠加
例如我有如下两张透明.半透明图: 在photoshop中打开如下: 前景:一张四通道的png图,BGR通道的值全为[0,0,200],透明度完全靠alpha通道的不同值来体现. 后景:一张四通道的pn ...
- 解决gif 透明度问题
解决gif 透明度问题 背景: 高清gif本身小影已经可以正常导出,随着app需求的迭代,需要支持导出带透明度的gif,支持gif导出透明度过程遇到了一些问题,本文档就详细介绍解决的过程. 实现过程: ...
- css阴影设置透明度,css3圆角 阴影 透明度
css3圆角 阴影 透明度 .box{ width: 200px; height: 200px; border: 2px solid #000; background-color: gold; mar ...
- 透明度叠加算法:如何计算半透明像素叠加到另一个像素上的实际可见像素值(附 WPF 和 HLSL 的实现)
本文介绍透明度叠加算法(Alpha Blending Algorithm),并用 C#/WPF 的代码,以及像素着色器的代码 HLSL 来实现它. 本文内容 算法 在 C# 代码中实现 在像素着色器中 ...
- css3圆角360度转动画,target,框架集,css3过渡动画,css3圆角-阴影-透明度,运动曲线,图片文字遮罩,变形...
target 模拟后台服务器 框架集 frameset和body不合,所以如果用frameset就不能有body标签 利用框架可以把浏览器窗口划分为若干个区域,每个区域就是一个框架,在其中分别显 示不 ...
- Unity Shader - URP ShadowCast ShadowRecieve - 投影 和 接受阴影
文章目录 Shadow Caster Using URP Shadow Caster Pass Using Custom Shadow Caster Pass 先来看看 [没有] apply shad ...
- Directx11进阶教程之CascadeShadowMap(层级阴影)(下)---解决阴影丢失和阴影抖动问题
承接上一篇博客,我们探讨下阴影丢失和阴影抖动的原因和提出相应的解决办法. CSM算法的阴影丢失或者显示错乱问题: 再次看看试验场景的阴影丢失或者阴影显示错乱的现象: 错误的显示:(上个教程不完善的CS ...
- OpenGL glBlendFunc() 设置颜色混合 透明度叠加计算
glBlendFunc();–混合 OpenGL 会把源颜色和目标颜色各自取出,并乘以一个系数(源颜色乘以的系数称为"源因子",目标颜色乘以的系数称为"目标因子" ...
最新文章
- PrintWriter用法简析
- pynvml 查看GPU已使用的显存
- cassandra框架模型之一——Colum排序,分区策略 Token,Partitioner bloom-filter,HASH
- 局部钩子能防全局钩子吗_Vue你真的熟吗?来回答这几个问题试试
- 【STM32】RTC程序示例
- php bind_param,php – 在mysqli bind_param中绑定动态变量
- Google Maps API 调用实例
- android10无法获取ssid,解决Android 8.0和9.0无法获取SSID (unknow ssid)
- 保存网站快捷方式到桌面的php代码,转的一个朋友的了,加了点判断
- 如何使用命令强制DC的复制
- 【NLP入门】手把手带你CNN文本分类(附代码)
- python传递list给前端并在前端成功显示图片·可以显示多张后台传过来的图片
- 物联网边缘-物联网准入或接入安全防护产品及解决方案
- 桌面便签软件哪个比较好 好用的手机桌面便签软件推荐
- Zotero | 文献关联
- 43套高质量PPT模板—创意风格主题
- 在线语音转文字如何进行在线转换的
- win10下安装MySQL8
- 计算机与信息科学书刊,第五届信息科学、计算机技术与交通运输国际学术会议(ISCTT 2020)...
- java 抽象类 Shape
热门文章
- 序列号加密中的数学算法
- PR婚礼标题模板 梦幻浪漫植物生长动态婚礼全屏标题pr视频模板
- 【jiasuba】分享:USBoot软件 实现从优盘引导系统
- 老板键2.0一键隐藏 桌面摸鱼 用于快速隐藏游戏或其他无关工作的程式
- [NOIP1996 提高组] 挖地雷 (动态规划)
- Java语言程序设计-Eclipse入门之HelloWorld程序
- 如何使用python自动识别验证码?
- 读懂大数据,这篇文章一定要细细品读!
- kb931125—rootsupd_Windows XP 您的时钟快了,无法建立私密连接
- 欢聚时代成功上市将激发互联网“第二春”?