透明是游戏中经常要使用的一种效果。在实时渲染中要实现透明效果,通常会在渲染模型时控制它的透明通道。当开启透明混合后,当一个物体被渲染到屏幕上时,每个片元出了颜色值和深度值之外,它还有另一个属性——透明度。当透明度为1时,表示该像素是完全不透明的,而当其为0时,则表示该像素完全不会显示。在Unity中,我们通常使用两种方法来实现透明效果:第一种是使用透明度测试,这种方法其实无法得到真正的半透明效果;            
                
         
            
            
            
            起因是有人谈到HDRP更新了半透明阴影,然后想了想透明物体在NPR中还是比较常见的,至少我上次就看到有人发了个模型,就因为衣服上的丝绸部分没有加描边,导致看上去完成度很低。透明物体有丝绸,雨衣(透明胶制服装),玻璃杯等等,还算挺常见的,而且都有生成描边和投影的需求。正好把一些遗留的问题解决了。半透描边大概就三种方案,1.按透明绘制但是写入深度,2.用模板缓存代替深度,3.当不透明物体            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-27 13:21:44
                            
                                291阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ??个人主页:@元宇宙-秩沅?? hallo 欢迎 点赞? 收藏⭐ 留言? 加关注✅!?? 本文由 秩沅 原创⭐?️模型导入之前需要注意的三个基本点⭐ 文章目录⭐?️模型导入之前需要注意的三个基本点⭐⭐前言⭐?(==A==) 缩放因子Scale Facter?(==B==) 动画设置?(==C==) 分割长动画⭐?️⭐ ⭐前言⭐?(A) 缩放因子Scale Facter在模型导入之前,我们需要设置            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 16:34:17
                            
                                166阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            故事在我们的游戏场景中,有一个场景物件是由三个半透明面片组成的,他们三个使用的是同一个材质球,但是夹在中间的这个片美术用插件对它做了uv动画,一旦启动游戏就会实例化成为一个独立的材质球。在进行DrawCall检查的时候发现中间这层片一旦隐藏,就会导致降低2个DrawCall。最开始以为是材质的问题,仔细看了Shader之后看不出什么端倪。把uv动画的物体换成内置Diffuse就好了,但是换成任何其            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-14 13:24:22
                            
                                88阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            开发中我们不仅需要UI界面淡入淡出,有时候还需要模型淡入淡出。我们在面板上修改color的a值时发现并没有效果。那是因为我们设置的RenderingMode是Opaque。官方标准shader中的Opaque pass段是不能显示半透明效果的,所以我们需要设置RenderingMode为Fade或者Transparent。然后在修改color的a值,达到淡入淡出的效果。效果如下: 通常我            
                
         
            
            
            
            第2章表面着色器和纹理映射在这一章中,会研究表面着色器。我们会从一个非常简单的无光材料开始,最后做出一个全息投影和高级地形混合特效。我们还可以用纹理来制作动画、混合或者其他一些特效。在这一章中,你会学到如下内容:漫反射着色使用包装数组给着色器添加纹理通过修改UV值来滑动纹理法线映射创建透明材质创建全息着色器打包和混合纹理在地形周围创建圆环2.1 引言我们在第1章中已经对表面着色器进行了初步讲解,表            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-29 14:54:27
                            
                                81阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            第7章 透明效果不透明和半透明物体渲染顺序、混合效果、透明测试、模板测试不透明物体渲染顺序按照正常思维,先绘制距离摄像机远的物体,然后再绘制离摄像机近的物体,绘制出来的结果并没有问题,但是如果从性能方面考虑,这个会产生重叠绘制(OverDraw)当重叠过多会造成巨大的性能开销,但是如果仅仅改变绘制的顺序并不能解决性能开销反而还会造成绘制出来物体显示的错误。所以引入了深度值(Depth)存储在屏幕空            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-05 11:09:40
                            
                                395阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            17 Unity的表面着色器探秘09 年时,Unity 的渲染工程师 Aras 连续发表了 3 篇名为《Shaders must die》的博客。在这些博客里,Aras 认为,把渲染流程分为顶点和像素的抽象层面是错误的,是一种不易理解的抽象。目前,这种在顶点/几何/片元着色器上的操作时对硬件友好的一种方式,但不符合我们人类的思考方式。相反,他认为,应该划分成表面着色器、光照模型和光照着色器这样的层            
                
         
            
            
            
            目录前言一、渲染顺序的重要性二、Unity Shader的渲染顺序三、透明度测试1、什么是透明度测试2、实践四、透明度混合1、什么是透明度混合2、实践 五、开启深度写入的半透明效果1、实现方法 2、实践六、ShaderLab的混合命令1、混合等式和参数2、混合操作 3、常见混合类型七、双面渲染的透明效果1、透明度测试的双面渲染 2、透明度混合的双面渲染前言&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-15 17:55:09
                            
                                1336阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近在做一个小项目,需要将模型作为UI显示在屏幕上,所以使用了RenderTexture。制作过程大概为新建一个摄像机对准模型物体,新建RenderTexture被这个摄像机引用,摄像机背景设为透明。使用NGUI,新建一个UITexture,将此RederTexture作为材质赋给它。而该模型为了实现半透明效果用了Transparent/Deffuse的Shader。设想中此时半透明的模型渲染在屏            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-29 07:18:12
                            
                                392阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            除了只是在屏幕上绘制颜色之外,我们还可以保留一些以前在屏幕上的颜色,使物体看起来透明。 我将解释我们如何在没有照明的基本着色器中实现这种效果。要了解如何实现透明度,我建议您了解编写着色器的基础知识,如果没有这方面的知识建议先看之前的教程。 本篇的Shader是在《[译]Unity3D Shader教程(四)Basic Shader》中Shader的基础上修改的。 为了使透明物体正确渲染,我们必须告            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-29 23:21:34
                            
                                416阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            效果图,上边是正常遮挡,下边是修改后的,遮挡部分半透明高亮显示出来                                                          
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-17 20:40:10
                            
                                218阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            混合模式着色完成后,需要把颜色混合到帧缓冲区里面,涉及到源和目标。1:在所有计算完成后,决定当前的计算结果输出到帧缓冲区时,如何混合源和目标,通常用来绘制半透明的物体; 2: Blend Off 关闭混合 3: Blend 源因子,目标因子: 配置并开启混合,产生的颜色和因子相乘,然后两个颜色相加 4: Blend 源因子,目标因子, 源因子A,目标因子A: 源因子与目标因子用户混合颜色值,源因子            
                
         
            
            
            
            蜡质效果 不幸的是,在实时游戏引擎中,光线在半透明体中的传输是相当大的挑战。从光源的视点渲染一张深度图可能会有用,但这已不在本章的范围。因此,我们将会伪造一些次表面的效果。第一种效果被称为“蜡质”,它描述了蜡的光滑、有光泽的外观,缺乏漫反射能提供的硬对比。理论上,我们在计算漫反射(但不是镜面反射)之前会平滑法线向量,并且实际上使用法线贴图还是有可能的。但是,这里采用另一种方法。为了柔化漫反射的由m            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-09 19:32:57
                            
                                187阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            prefab:  提供类似于C++中类的概念,方便用户建立对象。比如在建立碰撞盒的时候,可以建立prefab,方便同时修改碰撞盒的现实和隐藏。 透明贴图  unity3d中自带的shader没有提供一种支持:透明贴图层+漫反射贴图层的shader。因此在使用透明贴图的时候,需要将透明贴图制作为PNG格式。   使用transparent——>            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-13 10:07:41
                            
                                267阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.导入包来自游戏蛮牛,直接是unitypackage,但是路径不喜欢,自己换模型路径(贴图,材质球,动作),统一缩放值下面聊一下Mesh、MeshFiler、MeshRenderer、skinMeshRendermesh Filter是从资源里获取mesh资源,通过meshrender渲染到屏幕Mesh:村抽三维模型数据(vertices顶点V3[]、triangles 三角形顶点索引 int[            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-28 09:46:52
                            
                                66阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            unity3d利用lighmapping(光照贴图技术)来烘培物体,这种技术是一种增强场景光照效果的技术,它可以通过较低的性能来使得场景看上去更加真实、丰富,以及更加有立体感。下面简单介绍一下如何烘培物体1. 3dMax模型导出导出时一定要勾选“EmbedMedia”(嵌入媒体)并且最好fbx格式,否则在导入Unity时会成为无贴图的“裸模”2. 模型导入Unityunity去掉勾选“Auto G            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-05 19:49:57
                            
                                225阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            深度测试:实现效果:  
 透明度测试 将纹理图片中的小于0.5的部分剔除掉,所以我们看到黑色的边缘不见了。代码:透明度测试的Tags设置为 Tags{“Queue”=“AlphaTest” “IgnoreProjector”=“True” “RenderType”=“TransparentCutout”} 分别表示渲染顺序为深度测试,忽略物体的阴影影响,渲染的模式是TransparentCuto            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-26 17:06:46
                            
                                152阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            当模型本身有复杂的遮挡关系或是包含了复杂的非凸网格的时候,就会有各种各样因为排序错误而产生的错误的透明效果。由于关闭了深度写入,无法对模型进行像素级别的深度排序。一种解决方法是使用两个pass来渲染模型:第一个Pass开启深度写入,但不输出颜色,它的目的仅仅是为了把该模型的深度值写入深度缓冲中;第二个Pass进行正常的透明度混合,由于上一个Pass已经得到了逐像素的正确的深度信息,该Pass就可以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-15 14:47:13
                            
                                237阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Unity获取透明物体深度数据前言透明&景深需求模型透明度部分带透明通道图片/视频部分半透明模型获取深度的具体实现方法带透明度图片/视频获取深度的具体实现方法结束语 前言最近在做的项目有很多奇怪的需求,甚至之前在unity里用插件写了一个类似于蓝图的行为树插件,之后有时间给大家讲一讲相关的实现方法,今天刚解决了unity里透明物体无法获得深度数据的问题。所以分享给大家。透明&景深            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-04 16:05:00
                            
                                111阅读
                            
                                                                             
                 
                
                                
                    