不知道大家有没有玩过赛车游戏

赛车游戏的跑道有路标,如下图

玩过赛车游戏的都知道,大多数赛车游戏的路标是会动的,如上图,它会从右往左运动

不会发动态图,大家脑补一下吧

没有玩过赛车游戏的也不要紧,大家见过游戏中的瀑布或者湖面吗?如下图:高山流水

当然,我这个贴图的效果不是很好,不过我这里要说的是原理,不妨碍,我们继续

图中的瀑布从上往下流动

我们都知道,如果用粒子的话,有几百个瀑布,在手机上肯定是非常卡的

差一点的手机说不定游戏刚打开就未响应了

除非要求是非常逼真的那种水才用粒子系统,能不用尽量不用

用纹理动画的话虽然达不到粒子那么逼真,但是也是一种不错的解决方案

纹理动画耗费资源还是粒子动画耗费资源呢?我们一探究竟

小二,上图

好勒客官,马上来

这是瀑布的材质球,我们手动修改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 纹理动画的更多相关文章

  1. Unity3D 骨骼动画原理学习笔记

    最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭哧吭哧的~ 首先列出学习参考的前人的文章,本文较多的参考了其中的表述: 1. ...

  2. Unity3d Mecanim动画系统Animator学习笔记

    1. unity3d Mecanim学习  Unity3d新版动画系统网上的介绍很多,但多是流水笔记,外人很难看明白,后来我 终于找到介绍的比较明白的两个作者,特别感谢.一个是58开发网的乐天老师,课 ...

  3. 浅谈Unity3D 骨骼动画

    转载请标明出处http://www.cnblogs.com/zblade/ 最近研究了一下游戏中模型的骨骼动画的原理,做一个学习笔记,便于大家共同学习探讨. ps:最近改bug改的要死要活,博客写的吭 ...

  4. 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 ...

  5. (转)Unity3D - 动作动画忽略timeScale

    转自:http://blog.csdn.net/ynnmnm/article/details/46866347 最近在调战斗时的动画与特效,Unity3D对加/减速提供了Time.timeScale支 ...

  6. Unity3D - 动作动画忽略timeScale

    http://blog.csdn.net/ynnmnm/article/details/46866347 最近在调战斗时的动画与特效,Unity3D对加/减速提供了Time.timeScale支持.但 ...

  7. Processing 网格(棋盘格)无限偏移纹理动画

    过火 再度出击!这次我们要玩得更火一点---把静帧变动画.没错,将棋盘格动起来!看一下效果: 这是一个经典的无限偏移动画,在很多2d横版射击游戏中都会采用的技术.如何在Processing中实现,有两 ...

  8. three.js 纹理动画实现

    需求: 1.使用一张长图.分别播放这张长图的不同位置 来达到动态内容的目的 解决方案: 1.纹理创建并指定重复方向:this.texture.wrapS = this.texture.wrapT = ...

  9. Unity3D骨骼动画的分解(CleanData.Ani详解)

    CleanData是什么 CleanData以前没有特定的名字,(在easydown这个开源项目中,作为一个GameObjParser模块存在).在某三国项目中,我们使用GameObjParser将N ...

随机推荐

  1. 无法将匿名方法转换为System.Delegate

    在WinForm中,不允许非UI线程访问UI,如果非UI线程需要跨线程调用UI控件,通常的解决办法是使用Control类中的Invoke方法,传递给该方法一个委托和委托调用的参数列表(params [ ...

  2. Spring 通过XML配置文件以及通过注解形式来AOP 来实现前置,环绕,异常通知,返回后通知,后通知

    本节主要内容: 一.Spring 通过XML配置文件形式来AOP 来实现前置,环绕,异常通知     1. Spring AOP  前置通知 XML配置使用案例     2. Spring AOP   ...

  3. URAL 1430 Crime and Punishment

    Crime and Punishment Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u ...

  4. redis 五种数据结构详解(string,list,set,zset,hash)

    redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...

  5. 【MVC 4】8.SportsSore:管理

    作者:[美]Adam Freeman      来源:<精通ASP.NET MVC 4> 本文将继续构建 SportsStore 应用程序,为网站管理员提供一个管理产品分类的方法.本文将添 ...

  6. 线性代数与MATALB1

    1图论的一个基本应用 下图描述了4个城市之间的航空航线图, 为了描述着4个城市之间航线的邻接关系,定义邻接矩阵 第i行描述从城市i出发,可以达到各个城市的情况, 可以证明,矩阵A^N表示一个人连续坐N ...

  7. zstu-3769 数回文子串

    思路:用manacher求出每个位置的半径,相加即可. 代码:[rad[i]/2]即i这个位置的回文半径,添加的'#'代表长度为偶数的串. #include<stdio.h> #inclu ...

  8. Windows环境中Openfire与Spark安装与配置指南

    安装软件: openfire3.9.3 spark2.6.3 安装环境: WindowsXP JDK1.6.0_21 Oracle 一.openfire安装 1.安装openfire3.9.3,下载地 ...

  9. SQL Server 2005 安装图解教程(Windows)

    因工作需要,好久未安装SQL Server2005,今天安装了一下,特此写下安装步骤留下笔记. 安装前准备: 先安装IIS,再安装SQL Server2005 一.安装 点击安装,如下图: 选择操作系 ...

  10. 介绍linux下利用编译bash设置root账号共用的权限审计设置

    在日常运维工作中,公司不同人员(一般是运维人员)共用root账号登录linux服务器进行维护管理,在不健全的账户权限审计制度下,一旦出现问题,就很难找出源头,甚是麻烦!在此,介绍下利用编译bash使不 ...