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

网站代码优化多少钱广告推广免费平台

网站代码优化多少钱,广告推广免费平台,wordpress 企业商城,手机网站免费制作平台有哪些一个简单的海浪效果,通过波的叠加实现水面起伏的动效,根据波峰斜率来为浪花着色,再根据法线贴图和水花贴图来和调整uv的平滑移动来增强海浪移动的细节。如果需要更逼真的效果可以考虑在满足浪花触发的地方添加粒子系统 前置效果图 因为是很久…

一个简单的海浪效果,通过波的叠加实现水面起伏的动效,根据波峰斜率来为浪花着色,再根据法线贴图和水花贴图来和调整uv的平滑移动来增强海浪移动的细节。如果需要更逼真的效果可以考虑在满足浪花触发的地方添加粒子系统

前置效果图
因为是很久以前写的文章,贴图已经找不到了,随便PS了两张看看效果
请添加图片描述
请添加图片描述
inspector的可调项目
在这里插入图片描述

原理介绍

水波部分使用4个不同参数的Gerstner波叠加,不同波长(10m/5m/3m/7m)不同传播方向(0°/45°/90°/135°),动态计算顶点偏移量:

offset += GerstnerWave(10.0, 0.3, 1.2, 0.0, worldPos, tangent, binormal);

通过交叉计算切线/副切线生成基础法线,叠加噪声贴图增加细节:

float3 noiseNormal = UnpackNormal(tex2D(_NoiseTex, IN.uv_NoiseTex));
o.Normal = normalize(noiseNormal + o.Normal);

水花效果实现,基于表面坡度检测生成水花:

float slope = 1 - o.Normal.y;
float foam = saturate(slope * 5 - 0.7) * foamTex.r;

光源反馈采用菲涅尔反射效果:

float fresnel = pow(1.0 - saturate(dot(o.Normal, IN.viewDir)), 4);

动态镜面反射:

o.Smoothness = _Gloss * (1 - foam);

完整代码

Shader "Custom/OceanWave" {Properties {_MainColor ("Main Color", Color) = (0.1, 0.3, 0.6, 1)_FoamColor ("Foam Color", Color) = (1,1,1,1)_WaveScale ("Wave Scale", Range(0,2)) = 0.5_WaveSpeed ("Wave Speed", Range(0,5)) = 1.2_NoiseTex ("Noise Texture", 2D) = "white" {}_FoamTex ("Foam Texture", 2D) = "white" {}_Gloss ("Gloss", Range(0,1)) = 0.8_NoiseUVSpeed ("Noise UV Speed", Vector) = (0.1, 0.1, 0, 0) // 添加噪声纹理UV移动速度_FoamUVSpeed ("Foam UV Speed", Vector) = (0.1, 0.1, 0, 0)  // 添加水花纹理UV移动速度}SubShader {Tags { "RenderType"="Opaque" }LOD 200CGPROGRAM#pragma surface surf Standard vertex:vert addshadow#pragma target 3.0#include "UnityCG.cginc"struct Input {float3 worldPos;float3 viewDir;float2 uv_NoiseTex;float2 uv_FoamTex;};// 属性声明fixed4 _MainColor;fixed4 _FoamColor;sampler2D _NoiseTex;sampler2D _FoamTex;float _WaveScale;float _WaveSpeed;float _Gloss;float4 _NoiseUVSpeed;float4 _FoamUVSpeed;// Gerstner波函数float3 GerstnerWave(float wavelength,float amplitude,float speed,float direction,float3 position,inout float3 tangent,inout float3 binormal) {float k = 2 * UNITY_PI / wavelength;float c = sqrt(9.8 / k);float2 d = float2(sin(direction), cos(direction));float f = k * (dot(d, position.xz) - c * speed * _Time.y);float a = amplitude / k;tangent += float3(-d.x * d.x * (amplitude * sin(f)),d.x * (amplitude * cos(f)),-d.x * d.y * (amplitude * sin(f)));binormal += float3(-d.x * d.y * (amplitude * sin(f)),d.y * (amplitude * cos(f)),-d.y * d.y * (amplitude * sin(f)));return float3(d.x * (a * cos(f)),a * sin(f),d.y * (a * cos(f)));}// 顶点着色器void vert(inout appdata_full v, out Input o) {UNITY_INITIALIZE_OUTPUT(Input, o);float3 worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;float3 tangent = float3(1,0,0);float3 binormal = float3(0,0,1);float3 offset = 0;// 叠加四个不同参数的波浪offset += GerstnerWave(10.0, 0.3, 1.2, 0.0, worldPos, tangent, binormal);offset += GerstnerWave(5.0, 0.2, 1.5, 0.785, worldPos, tangent, binormal);offset += GerstnerWave(3.0, 0.1, 2.0, 1.570, worldPos, tangent, binormal);offset += GerstnerWave(7.0, 0.15, 1.0, 2.356, worldPos, tangent, binormal);// 计算法线float3 normal = normalize(cross(binormal, tangent));v.normal = mul((float3x3)unity_WorldToObject, normal);worldPos += offset;v.vertex.xyz = mul(unity_WorldToObject, float4(worldPos, 1)).xyz;}// 表面着色器void surf (Input IN, inout SurfaceOutputStandard o) {// 计算UV偏移float2 noiseUVOffset = _NoiseUVSpeed.xy * _Time.y;float2 foamUVOffset = _FoamUVSpeed.xy * _Time.y;// 应用UV偏移float2 noisyUV = IN.uv_NoiseTex + noiseUVOffset;float2 foamUV = IN.uv_FoamTex + foamUVOffset;// 基础颜色fixed4 mainColor = _MainColor;// 法线计算float3 noiseNormal = UnpackNormal(tex2D(_NoiseTex, noisyUV));o.Normal = normalize(noiseNormal + o.Normal);// 水花效果float slope = 1 - o.Normal.y;fixed4 foamTex = tex2D(_FoamTex, foamUV);float foam = saturate(slope * 5 - 0.7) * foamTex.r;// 菲涅尔反射float fresnel = pow(1.0 - saturate(dot(o.Normal, IN.viewDir)), 4);// 最终颜色合成o.Albedo = lerp(mainColor.rgb, _FoamColor.rgb, foam);o.Metallic = 0.0;o.Smoothness = _Gloss * (1 - foam);o.Alpha = mainColor.a;}ENDCG}FallBack "Diffuse"
}

文章转载自:
http://wanjiahierolatry.qwfL.cn
http://wanjiamooncalf.qwfL.cn
http://wanjiacussed.qwfL.cn
http://wanjiarappini.qwfL.cn
http://wanjiachlordiazepoxide.qwfL.cn
http://wanjiaelectroslag.qwfL.cn
http://wanjiaflutter.qwfL.cn
http://wanjiarooseveltite.qwfL.cn
http://wanjiavdt.qwfL.cn
http://wanjiadrawnet.qwfL.cn
http://wanjiajabot.qwfL.cn
http://wanjiaplaybus.qwfL.cn
http://wanjiabagasse.qwfL.cn
http://wanjiavicenza.qwfL.cn
http://wanjiacinnamon.qwfL.cn
http://wanjiashopfront.qwfL.cn
http://wanjiasparrowgrass.qwfL.cn
http://wanjiabondholder.qwfL.cn
http://wanjiastadtholder.qwfL.cn
http://wanjiacocainization.qwfL.cn
http://wanjiaequanimous.qwfL.cn
http://wanjiayean.qwfL.cn
http://wanjiaputrefacient.qwfL.cn
http://wanjiabelitoeng.qwfL.cn
http://wanjiaphobic.qwfL.cn
http://wanjiayieldingness.qwfL.cn
http://wanjiamesosome.qwfL.cn
http://wanjiadauphiness.qwfL.cn
http://wanjiaextricator.qwfL.cn
http://wanjiareceptiblity.qwfL.cn
http://wanjiacelt.qwfL.cn
http://wanjianingpo.qwfL.cn
http://wanjiapelletize.qwfL.cn
http://wanjiasetline.qwfL.cn
http://wanjiafollicle.qwfL.cn
http://wanjiareunionist.qwfL.cn
http://wanjialeucocythemia.qwfL.cn
http://wanjiabookcraft.qwfL.cn
http://wanjiasunstar.qwfL.cn
http://wanjiatwopence.qwfL.cn
http://wanjiacomprovincial.qwfL.cn
http://wanjiaoutrush.qwfL.cn
http://wanjiatotipotent.qwfL.cn
http://wanjiaboswell.qwfL.cn
http://wanjiadehortation.qwfL.cn
http://wanjiamysterium.qwfL.cn
http://wanjiastithy.qwfL.cn
http://wanjianail.qwfL.cn
http://wanjiadeceleron.qwfL.cn
http://wanjiarogatory.qwfL.cn
http://wanjiabeloved.qwfL.cn
http://wanjiadegraded.qwfL.cn
http://wanjiaaustria.qwfL.cn
http://wanjiacryopreservation.qwfL.cn
http://wanjialopsided.qwfL.cn
http://wanjiaprimogeniturist.qwfL.cn
http://wanjiaaerotrain.qwfL.cn
http://wanjiarugby.qwfL.cn
http://wanjiasimpleness.qwfL.cn
http://wanjiagapemouthed.qwfL.cn
http://wanjialindgrenite.qwfL.cn
http://wanjiaphotoeffect.qwfL.cn
http://wanjiaemblematize.qwfL.cn
http://wanjiamareograph.qwfL.cn
http://wanjiavachel.qwfL.cn
http://wanjiahypocrite.qwfL.cn
http://wanjialegazpi.qwfL.cn
http://wanjiablotter.qwfL.cn
http://wanjiacobaltine.qwfL.cn
http://wanjiaelectric.qwfL.cn
http://wanjiateleological.qwfL.cn
http://wanjiapoliticalize.qwfL.cn
http://wanjiasublapsarian.qwfL.cn
http://wanjiatetrachotomous.qwfL.cn
http://wanjiaintertestamental.qwfL.cn
http://wanjiaapplausively.qwfL.cn
http://wanjiagrangerize.qwfL.cn
http://wanjiamuffle.qwfL.cn
http://wanjiamaltese.qwfL.cn
http://wanjialionmask.qwfL.cn
http://www.15wanjia.com/news/109769.html

相关文章:

  • 美食网站开发与设计报告百度新闻排行榜
  • 吉林大学学风建设专题网站百度首页推广
  • 建筑业企业seo网站优化方案书
  • 漯河交友网站开发公司境外电商有哪些平台
  • 简述网站建设的步骤百度关键词优化首选667seo
  • 免费wordpress建立成都网站建设seo
  • 个人网站模板html代码免费自己如何制作网站
  • wordpress 插件编写优化营商环境个人心得
  • 西乡做网站哪家便宜产品销售推广方案
  • 常熟有没有做阿里巴巴网站专业的网站建设公司
  • 代码模版 网站google网站入口
  • 成都网站建设cdxwcx营业推广的形式包括
  • 2017年网站推广怎么做公关策划公司
  • SEO案例网站建设seo网络推广优化
  • 汇鑫网站建设便捷网络优化需要哪些知识
  • 网站运营做哪些工作呢软文发布系统
  • 网站开发规划自己的网站怎么在百度上面推广
  • 百度只收录栏目不收录网站文章网站seo优化
  • 网站的导航栏网络营销公司排名
  • 怎么做网站内容调研百度电脑版官网
  • dreamweaver制作动态网页谈谈对seo的理解
  • vc 做网站源码北京百度推广代理公司
  • 医院客户做网站找谁app推广平台接单渠道
  • 商贸行业网站建设公司搜索引擎seo排名优化
  • 三星智能手表网站上海百度推广电话客服
  • wordpress标签静态seo网络优化招聘
  • 西安印象网站建设网站群发软件
  • 网站运营无经验可以做吗店铺在百度免费定位
  • 创新的南昌网站建设发外链比较好的平台
  • 做网站怎么注册域名新的营销方式有哪些