Product Chat / Texture layer order?

Author
Message
Mitovo
8
Years of Service
User Offline
Joined: 13th Mar 2016
Location:
Posted: 22nd May 2016 16:57 Edited at: 22nd May 2016 21:34
Hello all,

So this is a quick-ish question.

Basically, what is the order of texture layers, starting from the bottom (default) to the top? The reason I ask is, since GG uses a kind of strange terrain texturing system, it seems impossible to make direct transitions from one texture layer to another, without the editor having to "pass through" intermediate layers first. So, instead of just having, say a dirt texture with stone painted directly on top, it first has to transition through any layers in-between those two, and the results are pretty ugly. Instead of dirt with stone, which I want, I have dirt and stone with 1 or 2 "rings" of other textures between them, which I don't want, and there's no way to get rid of it.

Besides that, instead of just giving us a numbered list, or a visual list, showing where each texture layer is in the "stack", we have to deal with pre-determined names, which don't even necessarily coordinate with what it's for. If I want "stone" to be on a certain layer, I have to rename it to "sediment" or "mossy", which is pretty unintuitive.

I like what y'all have done with the editor overall, but the terrain texture system is pretty awful to work with. Not trying to be crass, it just really sticks out like a sore thumb next to how well put together the rest of the software seems so far.

Any plans to implement something where we can change textures and set normal maps directly inside the program, without having to mess around in Windows with duplicating folders, and setting file names that may have zero relevance to what the actual texture is?

Absent that, is there at least a list or chart somewhere that lists what textures are layered in what order, from bottom to top?

Thanks
PM
Mitovo
8
Years of Service
User Offline
Joined: 13th Mar 2016
Location:
Posted: 23rd May 2016 18:17
Wanted to illustrate what I'm referring to, in case my description wasn't very good...
Here's a screenshot I just took of me attempting to overlap different textures. You'll notice that the only place the textures blend seamlessly into each other is toward the center of the pic, where the stone meets the sort of mossy texture. Everything else has this "band" around it, where it looks like the terrain painter needs to "pass through" each texture layer before it can apply the one you're actually trying to paint.

Again, this looks pretty awful and really makes it different to fine-tune and get an exact result when working with terrains. GG is the only game editing software I've seen with this issue.

Is there any plan to address this? Maybe re-implement how texture layers are applied/blended?
PM
Mitovo
8
Years of Service
User Offline
Joined: 13th Mar 2016
Location:
Posted: 23rd May 2016 18:18
I forgot to attach the pic to the last post...

Attachments

Login to view attachments
PM
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 24th May 2016 16:20
The idea was that each texture would represent an 'altitude' so the transitions could move from one layer to another. Of course, in practise, it was discovered that users wanted to blend in any order, and have a lot more than four textures for the entire terrain of the level, so we added a feature to the voting board which could address this with a new terrain texturing system. Once it gets higher in the charts, we can discuss specifics on how many textures we want, what blend styles to use, performance and visual considerations, e.t.c.
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Mitovo
8
Years of Service
User Offline
Joined: 13th Mar 2016
Location:
Posted: 25th May 2016 12:44 Edited at: 25th May 2016 13:21
I see. I would say the way texture layers are blended should be uncoupled from how many total layers are allowed. One is really not contingent on the other. Giving environment artists more control over exactly where and how textures are layered shouldn't be a "feature request", whether it's 4(5) textures max, or 16 or 32 - it should be a given from the get-go, IMO.

It's all upside, no downside, for the artist. Nothing about their workflow changes, other than not having to work around a system that says "you must paint the layers in this order, and this order only."


(Edited: Sorry... was still kinda waking up and didn't realize I was repeating myself lol)
PM
Belidos
3D Media Maker
8
Years of Service
User Offline
Joined: 23rd Nov 2015
Playing: The Game
Posted: 25th May 2016 13:18 Edited at: 25th May 2016 13:20
I kind of understand the principle of having them in a layer order, but I've never really understood the reasons for it.

Personally I would prefer it if the terrain surface was a single layer, and two textures laid down side to side would blend with each other only, ie if you paint a path onto rock then the path and rock blend at the edges, and not have a band of dirt in between the two.

That way if you really want the band of dirt, you can use a small circle and paint it in, whereas the way it is, if you don't want it you can't paint it out.

Sometimes having that band of dirt looks good, but in a majority of cases it looks very tacky (at least to me) and out of place, and is quite frustrating that you can't get rid of it.

i7, NV960 4GB, 16GB memory, 2x 4TB Hybrid, Win10.
i5 , AMD 6770 1GB, 8GB memory, 512GB Generic SATAIII + 2TB Seagate Baracuda SATAIII, Win7.
i3, Radeon integrated graphics, 4GB memory, 512gB Generic SATAII, Win8.1.
Q6600, Intel integrated graphics, 2GB memory, 180GB Generic SATAII, WinXP.
LeeBamber
TGC Lead Developer
24
Years of Service
User Offline
Joined: 21st Jan 2000
Location: England
Posted: 25th May 2016 14:31
It was more a performance consideration than a creative one. For now, you can play with the shader that decides the blending here: GameGuru\Files\effectbank\reloaded\terrain_basic.fx and the section of code specifically is:

// texture selection
float fShadowFromNormal = IN.WorldNormal.y;
float texselectorV = VegShadowColor.b;
float texselectorcol1 = max(0,0.25f-abs(texselectorV-0.00))*4.0f;
float texselectorcol2 = max(0,0.25f-abs(texselectorV-0.25))*4.0f;
float texselectorcol3 = max(0,0.25f-abs(texselectorV-0.50))*4.0f;
float texselectorcol4 = max(0,0.25f-abs(texselectorV-0.75))*4.0f;
float texselectorcol5 = max(0,0.25f-abs(texselectorV-1.00))*4.0f;

// work out normal textures from selector
float3 texpart1 = tex2D(NormalMap1Sampler,IN.TexCoord) * texselectorcol1;
float3 texpart2 = tex2D(NormalMap2Sampler,IN.TexCoord) * texselectorcol2;
float3 texpart3 = tex2D(NormalMap3Sampler,IN.TexCoord) * texselectorcol3;
float3 texpart4 = tex2D(NormalMap3Sampler,IN.TexCoord) * texselectorcol4;
float3 texpart5 = tex2D(NormalMap3Sampler,IN.TexCoord) * texselectorcol5;
float3 normalmap = texpart1+texpart2+texpart3+texpart4+texpart5;

// merge rock normal on deep slopes
float3 Nn = normalize(IN.WorldNormal);
float mXY = pow(abs(Nn.z),6);
float mXZ = pow(abs(Nn.y),2);
float mYZ = pow(abs(Nn.x),6);
float total = mXY + mXZ + mYZ;
mXY /= total;
mXZ /= total;
mYZ /= total;
normalmap = nXY*mXY + normalmap*mXZ + nYZ*mYZ;

// texture references
float4 texpartd1 = tex2D(DiffuseSampler,IN.TexCoord) * texselectorcol1;
float4 texpartd2 = tex2D(DiffuseSampler3,IN.TexCoord) * texselectorcol2;
float4 texpartd3 = tex2D(DiffuseSampler4,IN.TexCoord) * texselectorcol3;
float4 texpartd4 = tex2D(DiffuseSampler5,IN.TexCoord) * texselectorcol4;
float4 texpartd5 = cXZ * texselectorcol5;
float4 diffusemap = texpartd1+texpartd2+texpartd3+texpartd4+texpartd5;
diffusemap = cXY*mXY + diffusemap*mXZ + cYZ*mYZ;
float4 specmap = diffusemap.w;

You can amend the order and weights of each texture sampler to change how the terrain blends its textures together, though I expect you will want something a little more user-friendly
PC SPECS: Windows 8.1 Pro 64-bit, Intel Core i7-5930K (PASSMARK:13645), NVIDIA Geforce GTX 980 GPU (PASSMARK:9762) , 32GB RAM

Pirate Myke
Forum Support
14
Years of Service
User Offline
Joined: 31st May 2010
Location: El Dorado, California
Posted: 25th May 2016 14:59
Thanks for the information Lee.
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit, Screen resolution 1680 x 1050.

Login to post a reply

Server time is: 2024-06-26 07:41:24
Your offset time is: 2024-06-26 07:41:24