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

网站开发与维护宣传册seo交流论坛

网站开发与维护宣传册,seo交流论坛,动漫设计专业怎么样,企业为什么要用钉钉文章目录 前言一、U方向上优化二、V方向上优化在这里插入图片描述 三、最终代码1、效果2、Shader 前言 在Unity的Shader中,使用了_Time来达到UV的流动效果,普遍会出现一个问题。我们的UV值会随着时间一直增加(uv值增加了,但是因为…

文章目录

  • 前言
  • 一、U方向上优化
  • 二、V方向上优化
    • 在这里插入图片描述
  • 三、最终代码
    • 1、效果
    • 2、Shader


前言

在Unity的Shader中,使用了_Time来达到UV的流动效果,普遍会出现一个问题。我们的UV值会随着时间一直增加(uv值增加了,但是因为超过1就会重复,不影响效果),在一些较老的移动端上,存储不下那么大的值,就会导致精度丢失。

  • 精度丢失前
    请添加图片描述
  • 精度丢失后(有特别明显的像素点质感)
    请添加图片描述
    我们对上一篇文章中,使用到的序列帧动画Shader,进行_Time相加后的精度优化。
  • Unity中Shader序列帧动画(U、V方向的走格)

一、U方向上优化

  • 对之前的公式取小数部分
  • u ( t ) = g ( C o l u m n ⋅ t ) C o l u m n = ⌊ C o l u m n ⋅ t ⌋ C o l u m n u(t) = \frac{g(Column·t)}{Column} = \frac{\lfloor Column·t \rfloor}{Column} u(t)=Columng(Columnt)=ColumnColumnt
  • u 2 ( t ) = f r a c ( u ( t ) ) = f r a c ( ⌊ C o l u m n ⋅ t ⌋ C o l u m n ) u_2(t) = frac(u(t)) =frac(\frac{\lfloor Column·t \rfloor}{Column}) u2(t)=frac(u(t))=frac(ColumnColumnt)
    在这里插入图片描述

o.uv.x += frac(floor(_Time.y *_Sequence.y * _Sequence.z)/_Sequence.y);


二、V方向上优化

  • 对之前的公式取小数部分
  • v ( t ) = u ( t C o l u m n ) = ⌊ C o l u m n ⋅ t C o l u m n ⌋ C o l u m n v(t) = u(\frac{t}{Column}) = \frac{\lfloor \frac{Column·t}{Column} \rfloor}{Column} v(t)=u(Columnt)=ColumnColumnColumnt
  • v 2 ( t ) = f r a c ( v ( t ) ) = f r a c ( ⌊ C o l u m n ⋅ t C o l u m n ⌋ C o l u m n ) v_2(t) = frac(v(t)) = frac(\frac{\lfloor \frac{Column·t}{Column} \rfloor}{Column}) v2(t)=frac(v(t))=frac(ColumnColumnColumnt)

在这里插入图片描述

三、最终代码

1、效果

请添加图片描述

2、Shader

Shader "MyShader/URP/P3_9"
{Properties{_Color("Color",Color) = (1,1,1,1)_MainTex("MainTex",2D) = "white"{}_Sequence("Row(X) Column(Y) Speed(Z)",Vector) = (1,1,1,1)}SubShader{Tags{//告诉引擎,该Shader只用于 URP 渲染管线"RenderPipeline"="UniversalPipeline"//渲染类型"RenderType"="Transparent"//渲染队列"Queue"="Transparent"}Blend SrcAlpha OneMinusSrcAlpha Zwrite OnPass{HLSLPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile_fog#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"struct Attribute{float3 vertexOS : POSITION;float2 uv : TEXCOORD0;};struct Varying{float4 vertexCS : SV_POSITION;float2 uv : TEXCOORD1;float fogCoord : TEXCOORD2;};CBUFFER_START(UnityPerMaterial)float4 _Color;float4 _MainTex_ST;half4 _Sequence;CBUFFER_ENDTEXTURE2D(_MainTex);SAMPLER(sampler_MainTex);Varying vert(Attribute v){Varying o;o.vertexCS = TransformObjectToHClip(v.vertexOS);o.uv = float2(v.uv.x/_Sequence.y,v.uv.y/_Sequence.x + (_Sequence.x - 1)/_Sequence.x);o.uv.x += frac(floor(_Time.y *_Sequence.y * _Sequence.z)/_Sequence.y);o.uv.y -= frac(floor(_Time.y *_Sequence.y * _Sequence.z / _Sequence.y)/_Sequence.x);//o.uv.x += floor(_Time.y);//o.uv = float2(v.uv.x/4,v.uv.y/4);//o.uv = TRANSFORM_TEX(v.uv,_MainTex);o.fogCoord = ComputeFogFactor(o.vertexCS.z);return o;}half4 frag(Varying i) : SV_Target{float4 mainTex = SAMPLE_TEXTURE2D(_MainTex,sampler_MainTex,i.uv);float4 col = mainTex * _Color;col.rgb = MixFog(col,i.fogCoord);return col;}ENDHLSL}}}
http://www.dinnco.com/news/38272.html

相关文章:

  • 怎么做好网站开发 设计百度账号管理中心
  • 电商网站有哪些平台如何查询百度搜索关键词排名
  • 织梦cms做多语言的网站seo排名优化推荐
  • 福田瑞沃小金刚现在的seo1发布页在哪里
  • 适合html初学者做的网站地推app
  • 网站建设能干什么杭州seo排名
  • 有什么网站可以接淘宝设计单做巧克力软文范例200字
  • 北京网站如何做推广百度打开
  • 用垃圾网站做外链企业seo推广外包
  • 江西网站建设费用手机搜索引擎排名
  • 织梦如何做视频网站谷歌浏览器在线打开
  • python学了能干嘛seo排名优化app
  • 17网站一起做网店增城樱桃bt官网
  • wordpress相册新窗口绍兴seo排名收费
  • 下载中心免费下载西安网站seo推广
  • 网站模板用什么软件做fba欧美专线
  • 餐厅类网站模板seo搜索引擎优化兴盛优选
  • 青海省建设网站企业seo搜索规则
  • 交友视频网站建设seo排名软件免费
  • 长沙住建百度竞价关键词优化
  • 如何在手机上做广告青岛seo网络推广
  • wordpress用什么系统seo技术外包
  • 网站建设费用兴田德润团队东莞百度快速优化排名
  • 做网站开发的过程关键字查找
  • 安国网站建设搜索引擎公司排名
  • 怎么用pf做网站百度收录时间
  • 网站查询信息爱站网怎么用
  • 网站测试工具淘宝关键词指数
  • 商丘市建设seo优化入门教程
  • 怎么管理网站的内容吗手机百度快照