unity3d 纹理动画
不知道大家有没有玩过赛车游戏
赛车游戏的跑道有路标,如下图
玩过赛车游戏的都知道,大多数赛车游戏的路标是会动的,如上图,它会从右往左运动
不会发动态图,大家脑补一下吧
没有玩过赛车游戏的也不要紧,大家见过游戏中的瀑布或者湖面吗?如下图:高山流水
当然,我这个贴图的效果不是很好,不过我这里要说的是原理,不妨碍,我们继续
图中的瀑布从上往下流动
我们都知道,如果用粒子的话,有几百个瀑布,在手机上肯定是非常卡的
差一点的手机说不定游戏刚打开就未响应了
除非要求是非常逼真的那种水才用粒子系统,能不用尽量不用
用纹理动画的话虽然达不到粒子那么逼真,但是也是一种不错的解决方案
纹理动画耗费资源还是粒子动画耗费资源呢?我们一探究竟
小二,上图
好勒客官,马上来
这是瀑布的材质球,我们手动修改OffsetX
按每次+0.1这样修改:0.1,0.2,0.3,0.4....
我们会发现,每修改一次材质球就会相应的变动
现在我们归零,修改一下OffsetY,依旧和修改X一样的方法
我们会发现材质球也会有相应的变动,但是方向不一样
如果只观察材质球感觉不容易看出来,那就把材质球挂到物体上,这样看的清楚一些
好了,我们知道如果让材质球动起来了,修改offset即可,那么我们就开始敲代码吧
创建一个 TextureAnimation.cs
定义一个变量:public float XSpeed = 0.1f;//X轴移动速度
然后有了下面的代码
public float XSpeed = 0.1f;//X轴移动速度 void FixedUpdate()
{
renderer.material.mainTextureOffset = new Vector2(Time.time * XSpeed, renderer.material.mainTextureOffset.y);
}
我们挂到瀑布上,然后运行,我们发现瀑布动起来了,但是似乎移动方向和速度不对劲
没关系,我们刚才修改的是X轴,我们在加上Y轴和移动速度不就行了?
依法炮制得出下面的完整代码:
using UnityEngine;
using System.Collections; /// 纹理动画 <summary>
/// 纹理动画
/// </summary>
public class TextureAnimation : MonoBehaviour
{
public bool MoveX = false;//是否移动X
public bool ToUp = false;//往上移动
public float XSpeed = 0.1f;//X轴移动速度
private float offsetX = ; public bool MoveY = false;//是否移动Y
public bool ToLeft = false;//往左移动
public float YSpeed = 0.1f;//Y轴移动速度
private float offsetY = ; void FixedUpdate()
{
if (MoveX)
{
offsetX = Time.time * XSpeed;
if (ToUp) offsetX *= -;
} if (MoveY)
{
offsetY = Time.time * YSpeed;
if (ToLeft) offsetY *= -;
} renderer.material.mainTextureOffset = new Vector2(offsetX, offsetY);
}
}
我就不多解释了,房东一会儿过来收房租了
真烦,我都租了大半年了,想在续租一个月,因为还有一个月我才上班
原来房租是850一个月,现在居然想收我900一个月
原因是我只续租一个月
我教了一千块押金,他怕我跑了不给水电费,非要我在给一千块
我让他来收电费他也不来,说太冷了。。。。
什么人啊这是。。。
不说了,我先闪了
本文链接:http://www.cnblogs.com/shenggege/p/4264463.html
unity3d 纹理动画的更多相关文章
- Unity3D 骨骼动画原理学习笔记
最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭哧吭哧的~ 首先列出学习参考的前人的文章,本文较多的参考了其中的表述: 1. ...
- Unity3d Mecanim动画系统Animator学习笔记
1. unity3d Mecanim学习 Unity3d新版动画系统网上的介绍很多,但多是流水笔记,外人很难看明白,后来我 终于找到介绍的比较明白的两个作者,特别感谢.一个是58开发网的乐天老师,课 ...
- 浅谈Unity3D 骨骼动画
转载请标明出处http://www.cnblogs.com/zblade/ 最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭 ...
- Unity3D Mecanim 动画系统骨骼动画问题解决方法
http://7dot9.com/2014/08/16/unity3d-mecanim%E5%8A%A8%E7%94%BB%E7%B3%BB%E7%BB%9F%E9%AA%A8%E9%AA%BC%E5 ...
- (转)Unity3D - 动作动画忽略timeScale
转自:http://blog.csdn.net/ynnmnm/article/details/46866347 最近在调战斗时的动画与特效,Unity3D对加/减速提供了Time.timeScale支 ...
- Unity3D - 动作动画忽略timeScale
http://blog.csdn.net/ynnmnm/article/details/46866347 最近在调战斗时的动画与特效,Unity3D对加/减速提供了Time.timeScale支持.但 ...
- Processing 网格(棋盘格)无限偏移纹理动画
过火 再度出击!这次我们要玩得更火一点---把静帧变动画.没错,将棋盘格动起来!看一下效果: 这是一个经典的无限偏移动画,在很多2d横版射击游戏中都会采用的技术.如何在Processing中实现,有两 ...
- three.js 纹理动画实现
需求: 1.使用一张长图.分别播放这张长图的不同位置 来达到动态内容的目的 解决方案: 1.纹理创建并指定重复方向:this.texture.wrapS = this.texture.wrapT = ...
- Unity3D骨骼动画的分解(CleanData.Ani详解)
CleanData是什么 CleanData以前没有特定的名字,(在easydown这个开源项目中,作为一个GameObjParser模块存在).在某三国项目中,我们使用GameObjParser将N ...
随机推荐
- 在Web api2 中传递复杂参数的一点心得
这两天在做的一个项目基于webapi2,期间遇到了复杂参数传递的问题.其中刚好看到园友的这篇文章,但是我测试收结果是失败的,还不知道是什么原因.最终经过思考后,找到了一种方法,和大家分享下. 在前端我 ...
- 将HTML特殊转义为实体字符的两种实现方式
前端开发工作中,经常需要将HTML的左右尖括号等转义成实体形式.我们不能把<,>,&等直接显示在最终看到的网页里.需要将其转义后才能在网页上显示. 转义字符(Escape Sequ ...
- Reading WebSites
oracle http://www.eygle.com/archives/2006/02/the_sun_repays_industriously.html 蕃茄土豆: https://pomotod ...
- MSBI--enlarge the DW database table volume
我们在学习MSBI的时候,经常会使用官方提供的Adventureworks和AdventureworksDW示例数据库,但是官方提供的数据量有点小, 以DW为例,Factinternetsales只有 ...
- 首个攻击该Mac OS系统的恶意软件——KeRanger
首个攻击该Mac OS系统的恶意软件——KeRanger 曾几何时,苹果操作系统一度被人认为是最安全的操作系统.然而近几年,针对苹果系统的攻击日益增多,影响范围也越来越大.无独有偶,近日,苹果Mac ...
- 如何利用ZBrush中的DynaMesh创建身体(一)
之前的ZBrush教程中我们用Extract抽出功能演示了头发的立体雕刻方法,本讲将对已完成的头部模型添加躯干,使用DynaMesh创建身体的方法,以及人体比例和结构的介绍. 查看详细的视频教程可直接 ...
- WPF标注装饰器
标注 在许多地方我们都会用到标注,比如在画图中: 在Office中: 在Foxit Reader中: 在Blend中: 等等. 简介 以前,因项目上需要做标注,简单找了一下,没发现适合要求的控件(包括 ...
- uGUI练习(五) Draggable Object
练习目标 学习制作一个可拖动的UI 一.步骤 监听UI的Drag事件,需要我们写一点点的代码. 1.创建一个Panel ,设置size为(100,100) 2.创建DraggableObjectSce ...
- java14-9 Doteformat的练习
需求: 键盘录入出生年月日,计算出距离现在已经生活了几天 分析: A:创建键盘录入固定模式的字符串 B:计算步骤: a:把输入进来的字符串格式化成日期 b:获取现在的日期,减去格式化后的日期 c:把得 ...
- linux下正向代理/反向代理/透明代理使用说明
代理服务技术对于网站架构部署时非常重要的,一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代理.以下就是针对这 ...