//精灵动画

Shader "zhaoguanghui/spriteAction" {

Properties {

_MainTex ("Base (RGB)", 2D) = "white" {}
        _TexWidth ("Sheet Width", float) = 0.0
        _CellAmount ("Cell Amount", float) = 0.0
        _Speed ("Speed", Range(0.01, 32)) = 12.0

}
    SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200
        
        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all light types
        #pragma surface surf Standard fullforwardshadows

// Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0

sampler2D _MainTex;
        float _TexWidth;
        float _CellAmount;
        fixed _Speed;

struct Input {
            float2 uv_MainTex;
        };

void surf (Input IN, inout SurfaceOutputStandard o) {

float2 spriteUV = IN.uv_MainTex;
            float cellPixelWidth = _TexWidth/_CellAmount;
            float cellUVPercentage = cellPixelWidth/_TexWidth;

float timeVal = fmod(_Time.y * _Speed, _CellAmount);
            timeVal = ceil(timeVal);

float xValue = spriteUV.x;
            xValue += cellUVPercentage * timeVal * _CellAmount;
            xValue *= cellUVPercentage;

spriteUV = float2(xValue, spriteUV.y);

half4 c = tex2D (_MainTex, spriteUV);

o.Albedo = c.rgb;
            o.Alpha = c.a;
        }
        ENDCG
    } 
    FallBack "Diffuse"

}

//瀑布

Shader "zhaoguanghui/ControlUV" {
    Properties {
        _MainTint ("Diffuse Tint", Color) = (1,1,1,1)
        _MainTex ("Base (RGB)", 2D) = "white" {}
        _ScrollXSpeed ("X Scroll Speed", Range(0,100)) = 2
        _ScrollYSpeed ("Y Scroll Speed", Range(0,100)) = 2
    }
    SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200
        
        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all light types
        #pragma surface surf Standard fullforwardshadows

// Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0

fixed4 _MainTint;
        fixed _ScrollXSpeed;
        fixed _ScrollYSpeed;
        sampler2D _MainTex;

struct Input {
            float2 uv_MainTex;
        };

void surf (Input IN, inout SurfaceOutputStandard o) {

fixed2 scrolledUV = IN.uv_MainTex;
            fixed xScrollValue = _ScrollXSpeed * _Time;
            fixed yScrollValue = _ScrollYSpeed * _Time;

scrolledUV += fixed2(xScrollValue, yScrollValue);
            half4 c = tex2D (_MainTex, scrolledUV);

o.Albedo = c.rgb * _MainTint;
            o.Alpha = c.a;
        }
        ENDCG
    } 
    FallBack "Diffuse"
}

Unity——通过Shader 制作精灵动画,瀑布相关推荐

  1. Cinemachine教程 | Unity中如何制作路径动画?

    摘要:在Unity中制作路径动画是有挺多方式的,基于Cinemachine的Dolly Path是一个简单便捷的方法,咱们来快速的学习一下吧! 洪流学堂,让你快人几步.你好,我是跟着大智(VX: zh ...

  2. Unity Cinemachine Timeline 制作镜头动画

    Cinemachine是Unity官方推出的一套相机管理解决方案,配合Timeline使用可以实现电影级别的分镜镜头,下面以一个车子移动的例子简单介绍Cinemachine和Timeline的配合使用 ...

  3. 08.Unity ShaderGraph实例(使用PBR渲染精灵动画)

    相关资源下载 创建精灵Sheet 制作精灵动画 ShaderGraph:怎么定义精灵贴图 ShaderGraph:怎么剔除Alpha Node:Sample Texture 2D Node:Repla ...

  4. unity学习笔记-精灵集和精灵动画

    2D游戏中,对精灵的操作需求,往往是两点: 1. 静态精灵:一般做背景展示等 2. 精灵动画:帧动画.骨骼动画等 声明:以下对Unity的操作,基于Unity3D 4.3.4,本人初学Unity,没用 ...

  5. unity人物旋转移动代码_游戏诞生之日02 - 美术篇 快速制作人物动画

    在上一篇<游戏诞生之日01 - 美术篇 快速搭建和渲染游戏的第一个场景>里,我们得到了一个静态渲染的游戏场景. 接下来我们需要加入人物动画,为游戏注入活力. 第五块拼图 - 动画素材从哪里 ...

  6. Unity ~2D精灵动画制作

    Unity 中如果要进行2D游戏的开发,刚开始没有选择2D创建项目的时候,需在Unity 中进行设置 1.Etid–>Project Settings–>Etidor 2.将相机设置为正焦 ...

  7. 如何将unity3d动画嵌入html,在Unity3D中使用精灵动画引擎制作动画的两种方法

    7月28日消息,如今的游戏玩家对于游戏角色的动作要求越来越高,给开发者提出了众多的要求,工作量也相应上升.那么如何才能简单快速地制作角色动画以提升效率呢?下面就和大家分享两个在Unity3D中使用精灵 ...

  8. Unity-ShaderGraph制作2D动画精灵发光

    Unity-ShaderGraph制作2D动画精灵发光 项目设置 准备素材 编写ShaderGraph 总结 项目设置 普通的2D工程,在PackManager上下载Universal RP这样能安装 ...

  9. unity 2D游戏开发 制作帧动画的两种方法

    本小主在这里给大家分享一下unity 2D游戏开发中制作帧动画的两种方法. 比较简单,一学即会. 方法一: 是用代码控制: 先创建一个2D工程.导入图片资源,并设置texture的texture ty ...

最新文章

  1. 强大的Vivado IP工具——自定义IP的使用
  2. HarmonyOS之AI能力·IM类意图识别
  3. 魅族加入华为鸿蒙系统,华为鸿蒙正式开放系统 魅族表态加入却非手机 很是耐人寻味...
  4. matlab 并行 计时,用Zen2跑MATLAB R2020a并行计算负载有点奇怪 - 桌面电脑(Computer)版 - 北大未名BBS...
  5. Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】
  6. 微信小程序接入海康威视萤石云直播
  7. FLTK学习笔记1-绘制基本控件(按钮、文本输入、容器)
  8. vue二维码的批量生成及下载
  9. B-样条曲线——动机 Motivation
  10. involution理解
  11. android studio中 实战演练——天气预报 程序
  12. linux mysql命令行登录_Linux 操作MySQL常用命令行
  13. Flex布局之flex:1
  14. 计算机科学与技术的未来发展前景
  15. 联想ThinkPadE455实现FN禁用(F1-F12标准功能与特殊功能切换)
  16. Android插件中使用EventBus出现java.lang.IllegalArgumentException: Expected receiver of type xxx, but got xx
  17. 基于SSM的律师平台管理系统
  18. NTP物理机时间同步应用
  19. 网络协议-DNS协议
  20. 迅雷云加速开放平台接口说明文档

热门文章

  1. mfc中文本文件和文件夹的复制移动
  2. android 自定义画笔,在Android Canvas中使用撤销/重做操作的自定义画笔
  3. 鼠标选中后会自动删除文件的现状及解决方案
  4. geekbench5 cpu排名 202009
  5. 详细解读阿里云开源PolarDB总体架构和企业级特性
  6. Linux_01_课堂笔记
  7. 【openssl】静态构建及MDd构建及bat复制生成的文件
  8. linux QQ无法显示图片和自定义头像
  9. 光伏行业逆变器企业应该如何生存?
  10. 2019全球外汇三大平台排名基本情况