Unity中URP下的线性雾

这篇具有很好参考价值的文章主要介绍了Unity中URP下的线性雾。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

在之前的文章中,我们实现了URP下的雾效支持。

  • Unity中URP下的添加雾效支持

在上一篇文章中,我们解析了 URP 下统一不同平台下的z值是怎么实现的

  • Unity中URP下统一不同平台下的z值

我们在这篇文章中,看一下Unity在URP下线性雾是怎么实现的。


一、线性雾 雾效因子

Unity中URP下的线性雾,Unity,unity,游戏引擎

  • 主要是使用上一篇统一好的z值,来计算雾效因子

  • 传入上一篇文章中,统一好的[0,Far]之间的z值。

  • 公式: f a c t o r = e n d − z e n d − s t a r t = z ⋅ − 1 e n d − s t a r t + e n d e n d − s t a r t factor = \frac{end-z}{end-start} = z ·\frac{-1}{end - start} + \frac{end}{end-start} factor=endstartendz=zendstart1+endstartend
    start:线性雾开始的位置
    end:线性雾结束的位置
    Unity中URP下的线性雾,Unity,unity,游戏引擎

  • 使用saturate(x),把计算的结果限制到[0,1]之间,小于0返回0,大于1返回1


二、MixFog

  • 在片元着色器中,在 雾颜色 和 物体实际颜色之间,使用雾效混合因子控制线性插值

Unity中URP下的线性雾,Unity,unity,游戏引擎

1、ComputeFogIntensity 雾效强度计算

  • 在线性雾下,雾效强度就等于雾效混合因子
    Unity中URP下的线性雾,Unity,unity,游戏引擎

2、雾效颜色混合 lerp(fogColor, fragColor, fogIntensity);

这里线性插值顺序有点反直觉
雾效强度越大,越偏向物体实际颜色
雾效强度越小,越偏向雾的颜色
文章来源地址https://www.toymoban.com/news/detail-805355.html

到了这里,关于Unity中URP下的线性雾的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity中URP下的添加雾效支持

    我们使用之前的棋盘格作为测试Shader来添加雾效。 Unity中 URP 下的棋盘格Shader #pragma multi_compile_fog float fogCoord : TEXCOORD2; o.fogCoord = ComputeFogFactor(o.vertexCS.z); col.rgb = MixFog(col,i.fogCoord);

    2024年04月25日
    浏览(35)
  • Unity中URP下的SimpleLit的 Lambert漫反射计算

    在之前的文章中,我们已经知道了 SimpleLit 下的主光数据怎么获取。 Unity中URP下获取主灯信息 Unity中ShaderGraph下获取主灯 有了这些数据,我们就可以计算 Lambert漫反射 和 BlinnPhone高光反射 了。 我们在获取了主光信息后 Light mainLight = GetMainLight1(inputData, shadowMask, aoFactor); 就来到了

    2024年01月21日
    浏览(92)
  • Unity中URP下的 额外灯 逐像素光 和 逐顶点光

    在之前的文章中,我们了解了 主光相关的反射计算。 Unity中URP下的SimpleLit的 Lambert漫反射计算 Unity中URP下的SimpleLit的 BlinnPhong高光反射计算 在这篇文章中,我们来了解一下额外灯的 逐像素光 和 逐顶点光。 在片元着色器 #if defined(_ADDITIONAL_LIGHTS) outColor = 1; #else outColor = 0; #end

    2024年01月23日
    浏览(38)
  • Unity-3DRPG游戏 学习笔记(1)--使用URP渲染管线

    教程地址: Unity2020 3DRPG游戏开发教程|Core核心功能01:Create Project 创建项目导入素材|Unity中文课堂_哔哩哔哩_bilibili 创建URP通用渲染管线(2021版本) 1. 打开:Windows--Package Manager--左上角下拉选择Unity Registry--搜索Universal RP--Install 2. Project窗口--Assets--右键Create--Rendering--URP Asstes

    2024年02月11日
    浏览(46)
  • 【Unity Shader Graph URP渲染管线下的自定义半透明效果_半透明案例分享】

    URP的渲染管线下 在项目设置里找到“Graphic” 找到URP Asset文件 索引到Renderer List文件——“ForwardRenderer” 在这个“ForwardRenderer”文件里找到“Add Renderer Feature” 添加一个渲染对象,类似下图:Render Object (Experimental) 如图设置,将“Event”设置成 AfterRenderingSkybox ,然后“Layer M

    2024年02月09日
    浏览(59)
  • Unity3D学习记录01:URP渲染管线以及3D游戏场景设置

    以下内容所使用的版本均为Unity2022.3 先在 Window-Package Manager-Unity Registry 里面搜索添加Universal RP   Unity中,创建渲染管线的方式为Asset文件夹下右键 Create-Readering-URP Asset(with Universal Asset) 会创建以下两个Pipeline:  接着在图中的设置里添加这两个渲染管线(Project Setting在Edit窗口下

    2024年02月08日
    浏览(63)
  • 【游戏开发小技】Unity中实现Dota里的角色技能地面贴花效果(URP ShaderGraph Decal)(1)

    [Toggle(_SupportOrthographicCamera)] _SupportOrthographicCamera(“_SupportOrthographicCamera (default = off)”, Float) = 0 } SubShader { // 关于tags的内容可以查阅官网手册:https://docs.unity3d.com/Manual/SL-SubShaderTags.html // 为了避免渲染顺序问题, Queue必须 = 2501, 它位于透明队列中 // 在透明队列中,Unity总是从后

    2024年04月16日
    浏览(56)
  • 十八、Unity游戏引擎入门

    1、下载     首先需要下载Unity Hub,下载网址:https://unity.com/cn。     然后在其中下载Unity编辑器并安装,可选择最新版本。     接着需要选择适合的开发环境,例如Android Studio或Xcode,以便进行手机游戏开发。在安装完Unity后,需要根据项目需求下载对应的模块和插件,例

    2024年02月16日
    浏览(79)
  • 使用团结引擎开发Unity 3D射击游戏

           本案例是初级案例,意在引导想使用unity的初级开发者能较快的入门,体验unity开发的方便性和简易性能。       本次我们将使用团结引擎进行开发,帮助想体验团结引擎的入门开发者进行较快的环境熟悉。      本游戏是一个俯视角度的射击游戏。主角始终位于屏幕

    2024年01月19日
    浏览(78)
  • Unity、UE、Cocos游戏开发引擎的区别

    Unity、Unreal Engine(UE)和Cocos引擎是三个常用的游戏开发引擎,它们在功能和特性上有一些区别。以下是它们之间的主要区别: 编程语言:Unity使用C#作为主要的编程语言,开发者可以使用C#脚本进行游戏逻辑编写。Unreal Engine主要使用C++作为编程语言,但也支持蓝图系统,允许

    2024年02月22日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包