Unity——通过Shader 制作精灵动画,瀑布
//精灵动画
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 制作精灵动画,瀑布相关推荐
- Cinemachine教程 | Unity中如何制作路径动画?
摘要:在Unity中制作路径动画是有挺多方式的,基于Cinemachine的Dolly Path是一个简单便捷的方法,咱们来快速的学习一下吧! 洪流学堂,让你快人几步.你好,我是跟着大智(VX: zh ...
- Unity Cinemachine Timeline 制作镜头动画
Cinemachine是Unity官方推出的一套相机管理解决方案,配合Timeline使用可以实现电影级别的分镜镜头,下面以一个车子移动的例子简单介绍Cinemachine和Timeline的配合使用 ...
- 08.Unity ShaderGraph实例(使用PBR渲染精灵动画)
相关资源下载 创建精灵Sheet 制作精灵动画 ShaderGraph:怎么定义精灵贴图 ShaderGraph:怎么剔除Alpha Node:Sample Texture 2D Node:Repla ...
- unity学习笔记-精灵集和精灵动画
2D游戏中,对精灵的操作需求,往往是两点: 1. 静态精灵:一般做背景展示等 2. 精灵动画:帧动画.骨骼动画等 声明:以下对Unity的操作,基于Unity3D 4.3.4,本人初学Unity,没用 ...
- unity人物旋转移动代码_游戏诞生之日02 - 美术篇 快速制作人物动画
在上一篇<游戏诞生之日01 - 美术篇 快速搭建和渲染游戏的第一个场景>里,我们得到了一个静态渲染的游戏场景. 接下来我们需要加入人物动画,为游戏注入活力. 第五块拼图 - 动画素材从哪里 ...
- Unity ~2D精灵动画制作
Unity 中如果要进行2D游戏的开发,刚开始没有选择2D创建项目的时候,需在Unity 中进行设置 1.Etid–>Project Settings–>Etidor 2.将相机设置为正焦 ...
- 如何将unity3d动画嵌入html,在Unity3D中使用精灵动画引擎制作动画的两种方法
7月28日消息,如今的游戏玩家对于游戏角色的动作要求越来越高,给开发者提出了众多的要求,工作量也相应上升.那么如何才能简单快速地制作角色动画以提升效率呢?下面就和大家分享两个在Unity3D中使用精灵 ...
- Unity-ShaderGraph制作2D动画精灵发光
Unity-ShaderGraph制作2D动画精灵发光 项目设置 准备素材 编写ShaderGraph 总结 项目设置 普通的2D工程,在PackManager上下载Universal RP这样能安装 ...
- unity 2D游戏开发 制作帧动画的两种方法
本小主在这里给大家分享一下unity 2D游戏开发中制作帧动画的两种方法. 比较简单,一学即会. 方法一: 是用代码控制: 先创建一个2D工程.导入图片资源,并设置texture的texture ty ...
最新文章
- 强大的Vivado IP工具——自定义IP的使用
- HarmonyOS之AI能力·IM类意图识别
- 魅族加入华为鸿蒙系统,华为鸿蒙正式开放系统 魅族表态加入却非手机 很是耐人寻味...
- matlab 并行 计时,用Zen2跑MATLAB R2020a并行计算负载有点奇怪 - 桌面电脑(Computer)版 - 北大未名BBS...
- Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】
- 微信小程序接入海康威视萤石云直播
- FLTK学习笔记1-绘制基本控件(按钮、文本输入、容器)
- vue二维码的批量生成及下载
- B-样条曲线——动机 Motivation
- involution理解
- android studio中 实战演练——天气预报 程序
- linux mysql命令行登录_Linux 操作MySQL常用命令行
- Flex布局之flex:1
- 计算机科学与技术的未来发展前景
- 联想ThinkPadE455实现FN禁用(F1-F12标准功能与特殊功能切换)
- Android插件中使用EventBus出现java.lang.IllegalArgumentException: Expected receiver of type xxx, but got xx
- 基于SSM的律师平台管理系统
- NTP物理机时间同步应用
- 网络协议-DNS协议
- 迅雷云加速开放平台接口说明文档