草庐IT

Unity中URP下实现能量罩(交接处高亮)

文章目录前言一、交接处高亮原理1、我们先用一个球作为能量罩、一个Cube和一个椭球作为与能量罩交接的物体2、这是我们目前场景的深度图3、使能量罩为半透明渲染队列且关闭深度写入不渲染深度图二、交接处高亮实现1、得到深度图2、在片元着色器中,对深度图进行纹理采样3、得到深度图观察空间下的Z值4、得到深度图观察空间Z值和能量罩观察空间Z值的差值5、用1-depth得到反色6、在属性面板定义一个参数用于控制高亮范围6、在属性面板定义一个Color用于控制高亮颜色请添加图片描述三、测试代码前言在之前的文章中,我们实现了深度图和抓屏的使用。我们用这些功能来实现一下能量罩效果。Unity中URP下使用屏幕坐

Unity中URP实现水体效果(水的深度)

文章目录前言一、搭建预备场景1、新建一个面片,使其倾斜一个角度,来模拟水底和岸边的效果2、随便创建几个物体,作为与水面接触的物体3、再新建一个面片,作为水面二、开始编写水体的Shader效果1、新建一个URP基础Shader2、把水体Shader分解为以下几个部分三、实现水的深度效果1、在URP管线设置下,打开深度图2、在SubShader中,申明深度图纹理和采样器3、修改水体渲染为半透明队列4、在Pass中关闭深度写入5、获取水体顶点在观察空间下的坐标6、把采样到的深度图转化到观察空间下7、最后,用观察空间下的深度图和水体顶点坐标的Z值相加即可四、最终代码及效果1、最终效果2、最终代码前言在

Unity | 渡鸦避难所-8 | URP 中利用 Shader 实现角色受击闪白动画

1.效果预览当角色受到攻击时,为了增加游戏的视觉效果和反馈,可以添加粒子等动画,也可以使用Shader实现受击闪白动画:受到攻击时变为白色,逐渐恢复为正常颜色本游戏中设定英雄受击时播放粒子效果,怪物受击时播放闪白动画,效果如下:2实现方案1Lit.shader简介查看怪物的Inspector,材质使用的Shader是URP的Lit.shader。Lit.shader可让您以照片般逼真的质量渲染真实世界的表面,如石头、木头、玻璃、塑料和金属。光线亮度和反射看起来栩栩如生,并能在各种光照条件(例如明亮的阳光或黑暗的洞穴)中做出正确反应,更多信息请参阅文档:https://docs.unity3d.

Unity中URP下额外灯的距离衰减

文章目录前言一、额外灯的距离衰减二、DistanceAttenuation函数的传入参数1、distanceSqr2、distanceAndSpotAttenuation3、_AdditionalLightsAttenuation4、GetPunctualLightDistanceAttenuation函数三、DistanceAttenuation函数的程序体前言在上一篇文章中,我们分析了额外灯的方向怎么计算。Unity中URP下计算额外灯的方向在这篇文章中,我们来分析一下额外灯的距离衰减。一、额外灯的距离衰减在上一篇文章中,完成了额外灯方向计算后,来到了计算额外光的衰减部分衰减包括:距离衰减

Unity中URP下抓屏的 开启 和 使用

文章目录前言一、抓屏开启1、Unity下开启抓屏2、Shader中开启抓屏二、抓屏使用1、设置为半透明渲染队列,关闭深度写入2、申明纹理和采样器3、在片元着色器使用请添加图片描述三、测试代码前言我们在这篇文章中看一下,URP下怎么开启抓屏。一、抓屏开启1、Unity下开启抓屏在URP下,打开下面这个选项FrameDebugger下可以看见CopyColor就是我们上一帧的内容OpaqueDownsampling改变截取的帧精度2、Shader中开启抓屏使用不透明渲染队列才可以使用深度图RenderQueueTags{“Queue”=“Geometry}”开启ZwriteZwriteOn二、抓屏

Unity URP中的Static Batching、GPU Instancing、SRPBatcher简单介绍

StaticBatching将一组静态物体的模型batch成一个模型,并作为一个整体提交的GPU。绘制的时候这些物体可以正常的做culling,Unity会将通过Culling的物体使用索引偏移的方式绘制。 GPUInstancing使用GPUInstancing可使用少量绘制调用一次绘制(或渲染)同一网格的多个副本。它对于绘制诸如建筑物、树木和草地之类的在场景中重复出现的对象非常有用。合并批次的前提条件是同网格同材质,但材质的参数可以不同,然后基于一个InstancedDrawCall,一次性绘制多个模型。使用比较多的是植被相关的,比如草和树木。在使用上需要注意当代码调用改变属性时候,需要用

Unity-URP(1)-3DSkybox

Unity-URP(1)—3DSkybox一、Canvas一、CanvasRenderModelScreenSpace-OverlayPixelPerfecttooglenotSortOrder0TragetDisplayDisplay1AddtionalShaderChannelsNothing二、CanvasScalerUIScaleModeConstantPixelSizeScaleFactor1ReferencePixelPerUnit100三、GraphicRaycasterScriptGdraphicRayscasterIgnoreReverseGraphicstoogletrue

Unity SRP 管线【第五讲:URP烘培光照】

本节,我们将跟随数据流向讲解UEP管线中的烘培光照。文章目录一、URP烘培光照1.搭建场景2.烘培光照参数设置MixedLight光照设置:直观感受LightmappingSettings参数设置:3.我们如何记录次表面光源颜色首先我们提取出相关URP代码,便于测试之后进入ShaderUnityMetaVertexPosition4.使用光照贴图二、光照探针1.添加光照探针并获取烘培结果2.获取烘培的球谐系数3.计算球谐光照4.使用球谐光照三、光照探针代理体LPPV参考一、URP烘培光照1.搭建场景将所有需要烘培的物体设置为ContributeGI(下面两种方法都可)将光源设置为Mixed2.

Unity Urp 渲染管线 创建透明材质球

按照以上方式设置后就可以得到一个透明的材质球Tips:Blendingmode:alpha和 Blendingmode: additive都是完全透明效果具体差异暂时不知道

Unity技美35——再URP管线环境下,配置post后期效果插件(post processing)

前两年在我的unity文章第10篇写过,后效滤镜的使用,那时候大部分项目用的还是unity的基础管线,stander管线。但是现在随着unity的发展,大部分项目都用了URO管线,甚至很多PC端用的都是高效果的HDRP管线,这就导致以前的方法配置post后效,画面中没有效果。因此专门写一个URP管线的配置POST后效的用法1安装环境首先,我们需要两个本地环境:第一个是postprocessing第二个是UniversalRP打开windows窗口,找到packageManger窗口2创建一个渲染管线配置文件(注意这个很重要,没有就不会生效)创建完会自动生成上图两个文件,自己根据需要修改名称3将