unity3d 紋理動畫


不知道大家有沒有玩過賽車游戲

賽車游戲的跑道有路標,如下圖

玩過賽車游戲的都知道,大多數賽車游戲的路標是會動的,如上圖,它會從右往左運動

不會發動態圖,大家腦補一下吧

沒有玩過賽車游戲的也不要緊,大家見過游戲中的瀑布或者湖面嗎?如下圖:高山流水

 

當然,我這個貼圖的效果不是很好,不過我這里要說的是原理,不妨礙,我們繼續

圖中的瀑布從上往下流動

我們都知道,如果用粒子的話,有幾百個瀑布,在手機上肯定是非常卡的

差一點的手機說不定游戲剛打開就未響應了

除非要求是非常逼真的那種水才用粒子系統,能不用盡量不用

用紋理動畫的話雖然達不到粒子那么逼真,但是也是一種不錯的解決方案

紋理動畫耗費資源還是粒子動畫耗費資源呢?我們一探究竟

小二,上圖

好勒客官,馬上來

 

這是瀑布的材質球,我們手動修改OffsetX

按每次+0.1這樣修改:0.1,0.2,0.3,0.4....

我們會發現,每修改一次材質球就會相應的變動

現在我們歸零,修改一下OffsetY,依舊和修改X一樣的方法

我們會發現材質球也會有相應的變動,但是方向不一樣

如果只觀察材質球感覺不容易看出來,那就把材質球掛到物體上,這樣看的清楚一些

好了,我們知道如果讓材質球動起來了,修改offset即可,那么我們就開始敲代碼吧

 

創建一個 TextureAnimation.cs

定義一個變量:public float XSpeed = 0.1f;//X軸移動速度

然后有了下面的代碼

1      public float XSpeed = 0.1f;//X軸移動速度
2  
3      void FixedUpdate()
4      {
5          renderer.material.mainTextureOffset = new Vector2(Time.time * XSpeed, renderer.material.mainTextureOffset.y);    
6      }

 我們掛到瀑布上,然后運行,我們發現瀑布動起來了,但是似乎移動方向和速度不對勁

沒關系,我們剛才修改的是X軸,我們在加上Y軸和移動速度不就行了?

依法炮制得出下面的完整代碼:

 1 using UnityEngine;
 2 using System.Collections;
 3 
 4 /// 紋理動畫 <summary>
 5 /// 紋理動畫
 6 /// </summary>
 7 public class TextureAnimation : MonoBehaviour
 8 {
 9     public bool MoveX = false;//是否移動X
10     public bool ToUp = false;//往上移動
11     public float XSpeed = 0.1f;//X軸移動速度
12     private float offsetX = 0;
13     
14     public bool MoveY = false;//是否移動Y
15     public bool ToLeft = false;//往左移動
16     public float YSpeed = 0.1f;//Y軸移動速度
17     private float offsetY = 0;
18 
19     
20     void FixedUpdate()
21     {
22         if (MoveX)
23         {
24             offsetX = Time.time * XSpeed;
25             if (ToUp) offsetX *= -1;
26         }
27 
28         if (MoveY)
29         {
30             offsetY = Time.time * YSpeed;
31             if (ToLeft) offsetY *= -1;
32         }
33 
34         renderer.material.mainTextureOffset = new Vector2(offsetX, offsetY);    
35     }
36 }

 

我就不多解釋了,房東一會兒過來收房租了

真煩,我都租了大半年了,想在續租一個月,因為還有一個月我才上班

原來房租是850一個月,現在居然想收我900一個月

原因是我只續租一個月

我教了一千塊押金,他怕我跑了不給水電費,非要我在給一千塊

我讓他來收電費他也不來,說太冷了。。。。

什么人啊這是。。。

不說了,我先閃了

 

本文鏈接:http://www.cnblogs.com/shenggege/p/4264463.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM