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

网站远程图片市场营销推广策划方案

网站远程图片,市场营销推广策划方案,郑州短视频拍摄制作,金坛建设网站原理: 和之前的差不多,只是添加了噪声相关的参数和属性,并在Shader的片元着色器中对高度的计算添加了噪声的影响 脚本实现 using UnityEngine; using System.Collections;public class FogWithNoise : PostEffectsBase {public Shader fog…

原理:

和之前的差不多,只是添加了噪声相关的参数和属性,并在Shader的片元着色器中对高度的计算添加了噪声的影响

脚本实现

using UnityEngine;
using System.Collections;public class FogWithNoise : PostEffectsBase
{public Shader fogShader;private Material fogMaterial = null;public Material material{get{fogMaterial = CheckShaderAndCreateMaterial(fogShader, fogMaterial);return fogMaterial;}}private Camera myCamera;public Camera Camera{get{if (myCamera == null){myCamera = GetComponent<Camera>();}return myCamera;}}private Transform myCameraTransform;public Transform cameraTransform{get{if (myCameraTransform == null){myCameraTransform = Camera.transform;}return myCameraTransform;}}[Range(0.1f, 3.0f)]public float fogDensity = 1.0f;//雾浓度public Color fogColor = Color.white;//雾颜色public float fogStart = 0.0f;public float fogEnd = 2.0f;public Texture noiseTexture;//噪声纹理[Range(-0.5f, 0.5f)]public float fogXSpeed = 0.1f;[Range(-0.5f, 0.5f)]public float fogYSpeed = 0.1f;[Range(0.0f, 3.0f)]public float noiseAmount = 1.0f;//用于控制噪声程度void OnEnable(){GetComponent<Camera>().depthTextureMode |= DepthTextureMode.Depth;}void OnRenderImage(RenderTexture src, RenderTexture dest){if (material != null){Matrix4x4 frustumCorners = Matrix4x4.identity;float fov = Camera.fieldOfView;float near = Camera.nearClipPlane;float aspect = Camera.aspect;float halfHeight = near * Mathf.Tan(fov * 0.5f * Mathf.Deg2Rad);Vector3 toRight = cameraTransform.right * halfHeight * aspect;Vector3 toTop = cameraTransform.up * halfHeight;Vector3 topLeft = cameraTransform.forward * near + toTop - toRight;float scale = topLeft.magnitude / near;topLeft.Normalize();topLeft *= scale;Vector3 topRight = cameraTransform.forward * near + toRight + toTop;topRight.Normalize();topRight *= scale;Vector3 bottomLeft = cameraTransform.forward * near - toTop - toRight;bottomLeft.Normalize();bottomLeft *= scale;Vector3 bottomRight = cameraTransform.forward * near + toRight - toTop;bottomRight.Normalize();bottomRight *= scale;frustumCorners.SetRow(0, bottomLeft);frustumCorners.SetRow(1, bottomRight);frustumCorners.SetRow(2, topRight);frustumCorners.SetRow(3, topLeft);material.SetMatrix("_FrustumCornersRay", frustumCorners);material.SetFloat("_FogDensity", fogDensity);material.SetColor("_FogColor", fogColor);material.SetFloat("_FogStart", fogStart);material.SetFloat("_FogEnd", fogEnd);material.SetTexture("_NoiseTex", noiseTexture);material.SetFloat("_FogXSpeed", fogXSpeed);material.SetFloat("_FogYSpeed", fogYSpeed);material.SetFloat("_NoiseAmount", noiseAmount);Graphics.Blit(src, dest, material);}else{Graphics.Blit(src, dest);}}
}

Shader实现

Shader "Fog With Noise" 
{Properties {_MainTex ("Base (RGB)", 2D) = "white" {}_FogDensity ("Fog Density", Float) = 1.0_FogColor ("Fog Color", Color) = (1, 1, 1, 1)_FogStart ("Fog Start", Float) = 0.0_FogEnd ("Fog End", Float) = 1.0_NoiseTex ("Noise Texture", 2D) = "white" {}_FogXSpeed ("Fog Horizontal Speed", Float) = 0.1_FogYSpeed ("Fog Vertical Speed", Float) = 0.1_NoiseAmount ("Noise Amount", Float) = 1}SubShader {CGINCLUDE#include "UnityCG.cginc"float4x4 _FrustumCornersRay;sampler2D _MainTex;half4 _MainTex_TexelSize;sampler2D _CameraDepthTexture;half _FogDensity;fixed4 _FogColor;float _FogStart;float _FogEnd;sampler2D _NoiseTex;half _FogXSpeed;half _FogYSpeed;half _NoiseAmount;struct v2f {float4 pos : SV_POSITION;float2 uv : TEXCOORD0;float2 uv_depth : TEXCOORD1;float4 interpolatedRay : TEXCOORD2;};v2f vert(appdata_img v) {v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.uv = v.texcoord;o.uv_depth = v.texcoord;#if UNITY_UV_STARTS_AT_TOPif (_MainTex_TexelSize.y < 0)o.uv_depth.y = 1 - o.uv_depth.y;#endifint index = 0;if (v.texcoord.x < 0.5 && v.texcoord.y < 0.5) {index = 0;} else if (v.texcoord.x > 0.5 && v.texcoord.y < 0.5) {index = 1;} else if (v.texcoord.x > 0.5 && v.texcoord.y > 0.5) {index = 2;} else {index = 3;}#if UNITY_UV_STARTS_AT_TOPif (_MainTex_TexelSize.y < 0)index = 3 - index;#endifo.interpolatedRay = _FrustumCornersRay[index];return o;}fixed4 frag(v2f i) : SV_Target {float linearDepth = LinearEyeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv_depth));float3 worldPos = _WorldSpaceCameraPos + linearDepth * i.interpolatedRay.xyz;float2 speed = _Time.y * float2(_FogXSpeed, _FogYSpeed);//计算噪声纹理的偏移量float noise = (tex2D(_NoiseTex, i.uv + speed).r - 0.5) * _NoiseAmount;//得到噪声值float fogDensity = (_FogEnd - worldPos.y) / (_FogEnd - _FogStart); fogDensity = saturate(fogDensity * _FogDensity * (1 + noise));fixed4 finalColor = tex2D(_MainTex, i.uv);finalColor.rgb = lerp(finalColor.rgb, _FogColor.rgb, fogDensity);return finalColor;}ENDCGPass {          	CGPROGRAM  #pragma vertex vert  #pragma fragment frag  ENDCG}} FallBack Off
}

效果:

在这里插入图片描述

http://www.lbrq.cn/news/2394901.html

相关文章:

  • 东莞网站建设制作百度推广优化是什么?
  • 做金融的看哪些网站网站营销网
  • 微网站自己怎么做的吗百度seo查询收录查询
  • 济宁专业做网站重庆seo网络推广优化
  • 营销型企业网站推广的方法有哪些志鸿优化设计答案
  • 网站怎么做快照五个常用的搜索引擎
  • asp网站制作网络营销推广
  • 广州购物网站公司地址朋友圈推广
  • 个人网站制作四川seo快速排名
  • 医院招聘网站建设和维护人员贵阳网站建设制作
  • 网站建设公司crm系统最近实时热点事件
  • 服务器网站80端口打不开百度极速版下载安装最新版
  • 做网站的关键词新手怎么引流推广
  • 潍坊网站公司seo软件优化工具软件
  • 网站开发 加二维扫码公司网络推广该怎么做
  • 网站租房做公寓长沙官网网站推广优化
  • h5手机网站制作打开百度一下网页版
  • 武汉软件开发外包百度seo可能消失
  • 河南平台网站建设公司网店运营培训
  • 电子商务网站的基础建设他达拉非片的作用及功效副作用
  • 微信官网小程序注册网站功能优化的方法
  • 信息手机网站模板下载软件抖音seo系统
  • 做公众号模板的网站网站开发制作培训学校
  • 用蜗牛做logo的网站武汉seo首页优化公司
  • 模板网站的弊端在哪品牌推广方案包括哪些
  • 用vs2005做网站 怎样搭配色彩百度灰色关键词排名代做
  • 苏州模板建站哪家好爱站网排名
  • 网站推广和网站优化seo怎么读
  • wordpress 导出功能seo怎么发外链的
  • 学校网站怎么下载不了打广告去哪个平台免费
  • Datawhale AI数据分析 作业
  • Vite的优缺点(精简版)
  • Flutter基础(前端教程①③-单例)
  • 分表聚合助手类
  • 【C++】——类和对象(中)——默认成员函数
  • 指定阿里镜像原理