资源大湿 发表于 2012-11-20 12:21

Unity3D UV动画代码效果 附图


js版:
var scrollSpeed = 5;
var countX : int = 4;
var countY : int = 4;


private var offsetX = 0.0;
private var offsetY = 0.0;
private var singleTexSize;


function Start() {
    singleTexSize = Vector2(1.0/countX, 1.0/countY);
    renderer.material.mainTextureScale = singleTexSize;
}
function Update ()
{
   
    var frame = Mathf.Floor(Time.time*scrollSpeed);
    offsetX = frame/countX;
    offsetY = -(frame - frame%countX) /countY / countX;
    renderer.material.SetTextureOffset ("_MainTex", Vector2(offsetX, offsetY));
}
C#版:
using UnityEngine;
using System.Collections;
using System;


public class OffsetTexs : MonoBehaviour
{
    public int scrollSpeed=5;
    public int countX=4;
    public int countY=4;


    private float offsetX=0.0f;
    private float offsetY=0.0f;
    private Vector2 singleTexSize;


// Use this for initialization
void Start () {
      singleTexSize=new Vector2(1.0f/countX,1.0f/countY);
      renderer.material.mainTextureScale=singleTexSize;
}
// Update is called once per frame
void Update () {
      float frame=Mathf.Floor(Time.time*scrollSpeed);
      offsetX=frame/countX;
      offsetY=-(frame-frame%countX)/countY/countX;
      renderer.material.SetTextureOffset("_MainTex",new Vector2(offsetX,offsetY));
}
}

monery8 发表于 2012-11-21 16:47

喜欢这个效果下来试试看{:5_427:}

kj5555 发表于 2012-11-23 10:28

谢谢分享,感谢。。。。{:5_427:}

☆花谢蝶飞☆ 发表于 2012-12-3 09:58

看一下。。。。。。。

qarluqd25 发表于 2012-12-8 15:23

学习学习 谢谢分享

动漫中国 发表于 2012-12-13 20:35

谢谢楼主!!!!!!!!!!!!!!

roadProgram 发表于 2013-4-22 15:08

换成shader 应该怎么写呢?

点果果 发表于 2013-4-27 09:42

学习 学习 {:5_387:}学习中呀~

春到湘江 发表于 2017-2-20 14:05

很不错

hyccong 发表于 2017-2-20 14:20

楼主是超人
页: [1]
查看完整版本: Unity3D UV动画代码效果 附图