Blending mode for terrain materials....

Friendly conversations, and everything that doesn't fit into the other forums.
  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 10
93 posts Page 5 of 10
Monkeychops
Posts: 17
Joined: Wed Feb 18, 2015 11:53 am
by Monkeychops » Wed Jul 12, 2017 1:25 pm
Duion wrote:Come on, editing the textures to make them fit just takes a few steps, desaturate, or partly desaturate, move up the brightness until it is around 128 grey, done, then you can test in the engine and make eventual fixes to the texture itself.
The more options you give people inside the engine, the more complicated and overloaded it all gets and the lazier the people get and the worse art they will produce, if you do not understand how to do 1-2 operations in an image editing program, then you maybe should not do art at all.


That's great if you know the engine inside out... but most people will just load in a terrain texture from an asset library or whatever and it will look rubbish, and then they think the engine is crappy. Plus, if we have a dozen or so different terrain textures to use/test, it is a pain to have to load up a photo editor and tweak every one... and by how much should we desaturate it to get it to look the same as it does in the editor? Then we want to edit the texture and add some flowers... we need to desaturate it all again to save it out. And say we only have the desaturated version that someone else has saved already - we need to edit it in the desaturated form and guess how its going to look when saturated. You need to be able to visualize all that in your head and can't accurately pick the shade you're going for.
The whole reason PBR workflow has got so popular these days is that you can be pretty sure what it looks like when you design it is how it will look in the engine. That's kinda ruined if you have to then guess at how much to desaturate your terrain textures by to get the look you're going for in the engine.

Personally I think if it can be done in the engine and make the workflow easier, why not? It will help people make better looking stuff out of the box. And when making a whole game with just 1 or 2 people every little productivity boost helps.
Duion
Posts: 833
Joined: Sun Feb 08, 2015 1:51 am
 
by Duion » Wed Jul 12, 2017 3:17 pm
You people always act like Torque does it all so different as in other engines, while the truth is, that Torque probably does it exactly like other engines as well.
Torque was modeled a lot after Cry Engine and you can assume that the terrain will work the same.
And if people cannot open images with an image editing editor and spend a few minutes to do some changes, then they are hopelessly lost and probably should not do art at all.
Improving tools when people do not even understand the basics will not help anything.

If you look up time budgets of even professional artists, making a simple texture can add up to several hours in time, depending on complexity, multiply this by an hourly rate of 20-50 dollar and you know the costs of production and you seriously want to argue that you cannot spend a few minutes to make (an already mostly done) texture right.
LukasPJ
Site Admin
Posts: 358
Joined: Tue Feb 03, 2015 7:25 pm
 
by LukasPJ » Wed Jul 12, 2017 3:54 pm
Duion wrote:You people always act like Torque does it all so different as in other engines, while the truth is, that Torque probably does it exactly like other engines as well.
Torque was modeled a lot after Cry Engine and you can assume that the terrain will work the same.
And if people cannot open images with an image editing editor and spend a few minutes to do some changes, then they are hopelessly lost and probably should not do art at all.
Improving tools when people do not even understand the basics will not help anything.

If you look up time budgets of even professional artists, making a simple texture can add up to several hours in time, depending on complexity, multiply this by an hourly rate of 20-50 dollar and you know the costs of production and you seriously want to argue that you cannot spend a few minutes to make (an already mostly done) texture right.


I think the general consensus, is that T3D does it pretty much like CryEngine, but another approach has been suggested in this thread, which might be more intuitive and some wants to investigate that road.

We shouldn't keep the tool as-is just because people coming to the engine just needs to "git-gud". That is the equivalent of answering bug-reports with "the code is right there, fix it!". I'm not an artist, I don't spend several hours on a single texture, I download one, throw it in the engine and hope it works out well. Many indie-developers are programmers, using programmer-art and that's alright.

If the suggested method is inferior to the existing method, then sure we shouldn't fix it. But if it can yield the same or better results, while being more intuitive, then why not use it? I'm not saying that's how it is, but let's discuss whether the suggested method is superior to the existing method, rather than whether people just need to learn it.
Steve_Yorkshire
Posts: 207
Joined: Tue Feb 03, 2015 10:30 pm
 
by Steve_Yorkshire » Wed Jul 12, 2017 5:01 pm
@
User avatar
Azaezel

Just to try and iron out my confusion - Back to:
Detail Normal Texture, Alpha Channel: Your height information.


If it's the detailMap_nm, you'd still not be able to use DDS.dxt5_nm because that compression/format needs the alpha channel to reduce artifacts. (using standard DDS.dxt1/3/5 for normal mapping gives horrible artifacts so I either use dxt5_NM or a png).

PNG gets alpha from erasing/fading the image, but you can't fit a greyscale (heightMap) into it. Can you?

:?:
Azaezel
Posts: 384
Joined: Tue Feb 03, 2015 9:50 pm
 
by Azaezel » Wed Jul 12, 2017 5:38 pm
Steve_Yorkshire wrote:PNG gets alpha from erasing/fading the image, but you can't fit a greyscale (heightMap) into it. Can you?


Sure can, to demonstrate using a pre-existing texture in-engine:

http://imgur.com/a/uM625

Reason the image wasn't displaying the rest in most viewers, applications, or editors in the second shot is purely down to highly agreed upon application interpretation. Nothing inherent in the actual file its-self is anything but raw data to be interpreted however we wish.
Duion
Posts: 833
Joined: Sun Feb 08, 2015 1:51 am
 
by Duion » Wed Jul 12, 2017 7:10 pm
I found that if you want to use terrain normal maps with alpha channel for parallax you should stick to png, since all others have their issues, I posted about that before.
Timmy
Posts: 308
Joined: Thu Feb 05, 2015 3:20 am
by Timmy » Thu Jul 13, 2017 6:49 am
Steve_Yorkshire wrote:@Azaezel
Just to try and iron out my confusion - Back to:
Detail Normal Texture, Alpha Channel: Your height information.


If it's the detailMap_nm, you'd still not be able to use DDS.dxt5_nm because that compression/format needs the alpha channel to reduce artifacts. (using standard DDS.dxt1/3/5 for normal mapping gives horrible artifacts so I either use dxt5_NM or a png).

PNG gets alpha from erasing/fading the image, but you can't fit a greyscale (heightMap) into it. Can you?

:?:


If you happen to use the latest development version, i finally added in proper support for BC5 aka 3Dc normal maps. Obviously that format is useless though if you need the alpha channel for something.
JeffR
Steering Committee
Steering Committee
Posts: 757
Joined: Tue Feb 03, 2015 9:49 pm
 
by JeffR » Tue Jul 18, 2017 7:44 am
Ended out getting a late start due to a back-log of errands I had to run, but I started on a breakdown/example post on what the general issue people are running into is, what Lukas's work is intended to improve on, and try and get everyone on the same page, since it seems like the wither-tos and whyfors are getting muddled in the discussion a little.

I'd done up some regular PBR materials out of Substance, as a representation of your average joe's creation or something you may get out of an art pack. From there, I'll do up the gray/highpass convert to make detail texture versions, and do a nice post that breaks everyone down to try and re-focus the discussion. So I'll try to have that posted here tomorrow.
JeffR
Steering Committee
Steering Committee
Posts: 757
Joined: Tue Feb 03, 2015 9:49 pm
 
by JeffR » Wed Jul 19, 2017 9:05 am
Alright, gunna try and go through this, and do it in 2 parts.

We'll start with the stock devhead.

So, as we've discussed, the correct way to currently texture terrains is to have a color diffuse texture which paints to the BaseTexture of the terrain, and supplies color to the detail texture, which normally a grayscale/highpass texture of the same diffuse for up-close detailings. Then obviously your normal, and optionally a macro detail texture for intermediate ranges. The macro texture is basically a longer-distance extension of the detail stuff, so I'll ignore it for now.

So, using the 5 textures I'd exported from Substance tools - acting as an artist using a normal workflow - we end out with the Albedo, Normal + Height and Composite(for PBR in the near future). You'd load the albedo into a image editing program and desaturate them and fidget with the levels until it's fairly neutral gray. Depending on the texture's complexity, this can actually be a fair time sink if you're not experienced, and getting the almost-passable results in my images took me about 15-20 minutes of fidgeting for the 5 materials. Pragmatically, that's quite a time cost for 'almost passable' and 'good' results will take longer still, especially when you figure you're very likely to have far more than 5 materials on your various terrains.

Anyways, if we paint them down, at a distance, they look like this. I blew up the preview window so we can better compare the image's actual colors to the in-render results:

Sand
Image

Dirt
Image

Grass
Image

Forest Ground
Image

And Rock
Image

As we can see, the colors as supplied on the BaseTexture look pretty good and are accurate to the source textures as we'd expect.

Now, if we were to try and just use our albedo image for the detail as well - either out of naivety or because you want the full color of the textures up close so it looks like the source image, the results are far less pleasing:

Sand
Image

Dirt
Image

Grass
Image

Forest Ground
Image

Rock
Image

As we can see, not only do we not get anywhere close to the preview window's example of what the albedo color looks like when up close, the colors are completely destroyed, the detail is lost, and it just looks BAD.

So, lets try and use our 'almost decent' detail textures a new person would likely put together

Sand
Image

Dirt
Image

Grass
Image

Forest Ground
Image

Rock
Image

Sand and Dirt see a huge improvement. Their detail textures were easy to create because it was a simple desaturate. They don't have much contrast, so they look OK. The colors are washed out compared to the albedo though, and getting it completely dialed in to look the same as the source texture would be a time consuming process.

Grass and Forest Ground fared better than with the albedo color detail, but still don't look good. They have a far broader extreme in contrast, between the grass/dirt and dirt/wood chips for the respective textures. Completely crushing the contrast will likely lose out a lot of the detail(already the grass itself looks like stringy mush), and will definitely not look like the source texture color-wise.
Rock is in a kind of weird middle ground. It's got a bit too much contrast from the cracks, so we're dealing with some discoloration, but it's not HORRIBLE. Enough fussing to dial it in would produce an acceptable result.

So with the current intended method of grayscale/highpass textures, we can see that yes - you can definitely get good results, but it's already - even with minimal correctness - more labor intensive, and still doesn't just simply return back the stock texture colors if that was what you were going for when looking at textures up close.
The tradeoff, however, is that if you get those detail textures dialed in, the base texture color blending in creates a good detail of visual variation, and it helps mask patterns and keep things visually fresh, which is absolutely a bonus.

Part of the problem with details getting blown out in stock currently is that it's not just simply a color modifier, but is a somewhat odd multiplier situation, so darker grays in the grayscale will darken the final merged color of BaseTexture + detail, and brighter grays will brighten it. The range on that is innately half because it's split + or -, so you get some extreme darks and brights at the same time because it's kinda unintuitive like that as well. To avoid extreme contrasts like that with the detail, you need most all the detail texture to be as close to true neutral gray as possible, which restricts you a good bit.

If we were to stick on with the highpass detail approach, we'd want to help make the modifier behavior of the detail textures easier to understand and work with so it doesn't completely blow the detail out without even approaching the extremes of 0 or 1 brightness levels. Also some examples/guidelines for how to produce good grayscale detail textures to cut down on how much fussing is required to achieve good results in order to save time while still making everything look good.


Tomorrow, I'll use the same textures with lukas's build and see how the newer approach fares with trying to get the detail textures to display the true color of the source texture to test situations where that's what the artist wants to do.

If there's any bits that you guys feel need further clarifying so we can all be on the same page about this, lemme know.
Timmy
Posts: 308
Joined: Thu Feb 05, 2015 3:20 am
by Timmy » Wed Jul 19, 2017 10:15 am
Just putting it out there, texture creation shouldn't be easy, this is a complicated process that requires skill and time. Just because one can slap in any ol' texture and make it look good shouldn't even factor into the equation imho. Personally i think the lukas method would be fantastic if the terrain was using virtual textures,that is a setup with pretty much unlimited layers.
  • 1
  • 3
  • 4
  • 5
  • 6
  • 7
  • 10
93 posts Page 5 of 10

Who is online

Users browsing this forum: No registered users and 1 guest