I thought I would mention a slight work around I am using, maybe it will
interest someone else.
I have several terrain tiles that "treadmill" into a endless landscape, and I
am bending 3 textures which requires two alphamaps.
I used the original heightmap which I used to make the original terrain before
I split it into several "tiles", and made two large alpha maps from it in
photoshop using "levels".
So, instead of having seperate alphamaps for each tile, I use these two large
alpha maps.
Since each of the two alphas cover the whole set of tiles, I have to use them
as mtlskins instead of entskins.
Now in my definition of the alphamap, I incude which area of the map the
particular tile should use.
For instance, if you are blending 3 textures and have your terrain split into
nine "tiles", and the two alphamaps for the blending are 768 x 768 then
Code:
bmap blendmap1a = <Alpha_Low.tga>,0,0,256,256; //area of alphamap for terrain tile #1
bmap blendmap1b = <Alpha_High.tga>,0,0,256,256;
//
bmap blendmap2a = <Alpha_Low.tga>,256,0,256,256; //area of alphamap for terrain tile #2
bmap blendmap2b = <Alpha_High.tga>,256,0,256,256;
//
bmap blendmap3a = <Alpha_Low.tga>,512,0,256,256; //area of alphamap for terrain tile #3
bmap blendmap3b = <Alpha_High.tga>,512,0,256,256;
//
bmap blendmap4a = <Alpha_Low.tga>,0,256,256,256; //area of alphamap for terrain tile #4
bmap blendmap4b = <Alpha_High.tga>,0,256,256,256;
//
bmap blendmap5a = <Alpha_Low.tga>,256,256,256,256; //area of alphamap for terrain tile #5
bmap blendmap5b = <Alpha_High.tga>,256,256,256,256;
//
bmap blendmap6a = <Alpha_Low.tga>,512,256,256,256; //area of alphamap for terrain tile #6
bmap blendmap6b = <Alpha_High.tga>,512,256,256,256;
//
bmap blendmap7a = <Alpha_Low.tga>,0,512,256,256; //area of alphamap for terrain tile #7
bmap blendmap7b = <Alpha_High.tga>,0,512,256,256;
//
bmap blendmap8a = <Alpha_Low.tga>,256,512,256,256; //area of alphamap for terrain tile #8
bmap blendmap8b = <Alpha_High.tga>,256,512,256,256;
//
bmap blendmap9a = <Alpha_Low.tga>,512,512,256,256; //area of alphamap for terrain tile #9
bmap blendmap9b = <Alpha_High.tga>,512,512,256,256;
If you do it this way, you have two blendmaps instead of 18. Also you can
easily modify the alphamaps and not have to worry about where the edges of
tiles meet! It would be difficult with 18 maps whose edges have to tile.
Now if there where only a way to define these alphamaps in each tiles action,
then pass it to the material. Too bad materials dont take parameters like
functions do.