当前位置: 首页 > news >正文

Unity中Shader的雾效

文章目录

  • 前言
  • 一、Unity中的雾效在哪开启
  • 二、Unity中不同种类雾的区别
    • 1、线性雾
    • 2、指数雾1(推荐用这个,兼具效果和性能)
    • 3、指数雾2(效果更真实,性能消耗多)
  • 三、在我们自己的Shader中实现判断,是否开启雾效
    • 1、我们先定义一个关于雾效的宏
    • 2、获取Unity雾效的颜色


前言

我们在这篇文章中讲述一下,在Unity的Shader中的雾效


一、Unity中的雾效在哪开启

在这里插入图片描述


二、Unity中不同种类雾的区别

1、线性雾

在这里插入图片描述
效果:
请添加图片描述

2、指数雾1(推荐用这个,兼具效果和性能)

在这里插入图片描述
效果:
请添加图片描述

3、指数雾2(效果更真实,性能消耗多)

在这里插入图片描述

效果:
请添加图片描述


三、在我们自己的Shader中实现判断,是否开启雾效

我们新建一个Unlit Shader 用于测试

1、我们先定义一个关于雾效的宏

#pragma multi_compile_fog

这个宏中有三个变体,分别对应之前的三种雾

在这里插入图片描述

2、获取Unity雾效的颜色

unity_FogColor
我们返回该值看一下效果:

return unity_FogColor;

请添加图片描述

最终代码:

//unity的雾效
Shader "MyShader/P1_9_2"
{SubShader{Tags { "RenderType"="Opaque" }Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile_fog#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;};struct v2f{float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);return o;}fixed4 frag (v2f i) : SV_Target{return unity_FogColor;}ENDCG}}
}
http://www.lryc.cn/news/228582.html

相关文章:

  • 企业微信开发教程一:添加企微应用流程图解以及常见问题图文说明
  • 【LeetCode】67. 二进制求和
  • 【LeetCode刷题笔记】二叉树(一)
  • NativeScript开发ios应用,怎么生成测试程序?
  • Js面试题:说一下js的模块化?
  • 媒体转码软件Media Encoder 2024 mac中文版功能介绍
  • 整治PPOCRLabel中cv2文件读取问题(更新中)
  • 网络运维Day09-补充
  • 【C++】【Opencv】minMaxLoc()函数详解和示例
  • 用Go实现网络流量解析和行为检测引擎
  • Mysql数据备份 — mysqldump
  • vue使用Echarts5实现词云图
  • 带有密码的Excel只读模式,如何取消?
  • Linux下基本操作命令
  • JVS低代码表单自定义按钮的使用说明和操作示例
  • C++--二叉树经典例题
  • 软件测试需要学习什么?好学吗?需要学多久?到底是报班好还是自学好?
  • Ubuntu搭建AI画图工具stable diffusion-webui
  • 智能优化算法(一):伪随机数的产生
  • python 调用Oracle有返回参数的存储过程
  • 700. 二叉搜索树中的搜索
  • GO学习之 互斥锁、读写锁该如何取舍
  • Internet的特点
  • Rust4.2 Common Collections
  • 芸鹰蓬飞:抖音投流以后还有自然流量吗?
  • CTFhub-RCE-php://input
  • RISC-V处理器设计(五)—— 在 RISC-V 处理器上运行 C 程序
  • 【PIE-Engine 数据资源】全球250米LAI产品
  • vcomp120.dll丢失怎么办?vcomp120.dll丢失的解决方法分享
  • linux下使用Docker Compose部署Spug实现公网远程访问