Animated Textures for Halo CE
Tutorial by Scorpwanna
Things you will need:
* Halo Custom Edition
* Halo Editing Kit
* A 3d editing program
* Imaging Program
* A model for the animated texture
The following example will be for creating a 4 image Animated Texture. Brief information about Animated Textures in Halo CE. Animated Textures are created as a type of slide show image that just moves from one side to the other using step counts. Think of the clouds sliding across the sky in a map, but in steps.
Step 1: Preparing The Model
(Note: Just for this tutorial I'm using a plane mesh, it doesn't have to be a plane. An animated texture can be applyed to any face on a model.
* Create a plane (flat) mesh in a 3d editing program. Give it one of the material textures you'll be using for the animation (just to get the size right). Name the material/texture "myanitex". Apply the material to the plane. Create a frame mesh and export the model as myanitex.JMS in: "Halo Custom Edition\data\animatedtextures\models". Tool it later.
Step 2: Setting Up The Image
* Start off by determining how many images will be in the animation. I gave this one 4 separate images at 32x32 pixels.
Each image is a pixel power of 2: 32,64,128,256 etc... In the Imaging Program create a power of 2 image palette, height 32 width 128 (32 times 4 images).
Take the first 32x32 texture in the sequence and place it as the first texture in the row you will be creating.
Take the second and place it after the first, continue until all 4 are back to back from each other.
Save this as a myanitex.tif file in your Halo CE Data folder wherever you will remember it. Some place like "Halo CE\data\animatedtextures\bitmaps" Run tool to convert the .tif into a .bitmap: tool bitmaps animatedtextures\bitmaps If successful proceed to Step 3.
Step 3: Creating The Shader
* Open Guerilla and make a new .shader_transparent_chicaco. I've read that .shader_model works too but I have yet to get one working.
o Scroll down to chicago shader in the flags section check "two-sided". Set "framebuffer blend function" to alpha-multiply add. (I set this because it makes the texture solid.)
o Scroll down to MAPS and set map u-scale to 0.25 (1/4th the width size of the 32x128 image. This tells Halo where each new texture is in the image sequence. Any image you make, be sure that you divide the width by the size of each frame added to the image sequence. If this image had 8 separate images, each frame was 32x32 and the image pixel ratio was 32x256 the number would be 0.125, 1/8th the width.)
Set map v-scale to 1.
o Scroll down to 2D Texture animation.
Set:
u-animation source: A out
u-animation period: 1 seconds
u-animation scale: 1 repeats
v-animation period: 1 seconds
v-animation scale: 1 repeats
rotation-animationperiod: 1 seconds
rotation-animation scale: 360 degrees
Save this in animatedtextures\shaders as myanitex.shader_transparent_chicago
Step 4: Exporting the Model & Creating The Tag
* Run tool to create the gbxmodel: tool model animatedtextures
* In Guerilla create a new .scenery tag.
Set:
bounding radius: 1 world units
model: animatedtextures\myanitex.gbxmodel
* Scroll down to FUNCTIONS and add an "A out"
Set:
period: 5 seconds
function: slide
step count: 5
Step Count is very important for an Animated Texture. My understanding is this actually jumps the animation sequence in steps to each new image location instead of continuously scrolling. It uses the map u-scale and map v-scale shader information. So in the 32x128 (4 textures), the 0.25 is 1 of those steps. The reason it's set at 5 (for this 4 image sequence) is if the image was infinite (starting over and over) 1-4 is the image with the 5th step meaning it starts over again.
Save this in animatedtextures as myanitex.scenery.
Misc. Information
The period seconds under FUNCTIONS can be set at any number you want depending on how fast you want it to animate. The numbers I use in this tutorial are just an average I started using for my animated textures and can be adjusted to your needs. After tooling the model I did rename it from animatedtextures.gbxmodel to myanitex.gbxmodel.
Bookmarks