Animating Tiled texture

From Unify Community Wiki
(Difference between revisions)
Jump to: navigation, search
(Usage)
m (typo)
Line 35: Line 35:
  
 
// build offset
 
// build offset
// v coordinate is the bottom of the image in opengl so we need ot invert.
+
// v coordinate is the bottom of the image in opengl so we need to invert.
 
var offset = Vector2 (uIndex * size.x, 1.0 - size.y - vIndex * size.y);
 
var offset = Vector2 (uIndex * size.x, 1.0 - size.y - vIndex * size.y);
 
 

Revision as of 10:36, 13 September 2006

Author: Joachim Ante

Description

This script animates a texture containing tiles of an animation. You can give it a framerate to determine the speed of the animation and set how many tiles on x, y there are.

Usage

Attach this script to the object that has a material with the tiled texture.

Here is an example of how to lay out a texture for it (Thanks to BigBrainz for providing it): Torchanimation 135.png

JavaScript - AnimatedTextureUV.js

<javascript> var uvAnimationTileX = 4; var uvAnimationTileY = 4; var framesPerSecond = 10.0;

function Update () {

// Calculate index var index : int = Time.time * framesPerSecond; // repeat when exhausting all frames index = index % (uvAnimationTileX * uvAnimationTileY);

// Size of every tile var size = Vector2 (1.0 / uvAnimationTileX, 1.0 / uvAnimationTileY);

// split into horizontal and vertical index var uIndex = index % uvAnimationTileX; var vIndex = index / uvAnimationTileX;

// build offset // v coordinate is the bottom of the image in opengl so we need to invert. var offset = Vector2 (uIndex * size.x, 1.0 - size.y - vIndex * size.y);

renderer.material.SetTextureOffset ("_MainTex", offset); renderer.material.SetTextureScale ("_MainTex", size); }</javascript>

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox