Hi all -
I'm teaching myself UDK, and to help flesh out a design portfolio that I'm going to spend the next 2 years building I'm also teaching myself UE3 so I can easily use the textures and static meshes available there.
So I'm starting off by trying to teach myself how to properly texture
terrain. I have the most basic basics down, but I'm running into some issues when I'm trying to implement some more advanced techniques.
http://udn.epicgames.com/Three/TerrainAdvancedTextures.html
I'm using the above link as a reference.
So I have a big ol' island - I'll post pictures soon, and to help reduce tiling I mixed a texture with a rotated and UV-scaled version of itself (pretty much just copying the technique from "Multi-UV Mixing: Reducing tiling through scalar mixing" from the above link)
The result was definitely.. somehwat reduced tiling. It definitely looked NOWHERE near as good as the example shots though, and tiling was still pretty apparent - just on a less granular scale.
So this all being said:
Do you guys have any idea on how to:
1) Make texture resolutions appear correctly? Clearly there were some settings that I needed to fiddle with that I flat out didn't, because as I walk around in Play mode, my grass texture just seems way too big - blurry when up close, individual blades of grass on the texture being like 4 feet long in in-game space, etc. How should I fix this? Almost all of the texturing terrain tutorials I've seen pretty much stop at "You got texture on the terrain, yay. Good. That's all you gotta do."
2) Reduce tiling effectively? Have you guys used the Mixing textures with scaled versions of themselves and had it work out well?
3) Enact procedural application of multiple textures vis-a-vis height and slope? It's definitely possible, as in the above link under "Texture packing: Implementing large texture tile sets" you can see the results of it, but there are some steps left out of those instructions that I simply don't understand. Any tutorials on the subject? Numerous youtube and google searches on my end haven't unearthed anything...
Specifically "In this example, the TerrainLayerSetup is using four procedural entries for the four TerrainMaterials, and the Height and Slope properties are set so that the results are various cliff and flatland layer varieties." How the crap do they do that?? It seems like such an effective and good-looking method to apply.
Anyway, I apologize if any of these questions are too noobish. I'm finding new tutorials every day and trying to consume as much as I can - it's just that I haven't found really good sources for these specific questions. Any help massively appreciated.
Replies
Although I don't really have any more answer for you, I'm going to save someone else the trouble of asking...
Can you please post your screenshots? In game of the problem area, and your material tree. If there is a specific step or setting in your above example, also point that out. Really hard for people to help you out if we can't see examples of your problem.
Good luck!
Here, I guess in desperation, I used THREE techniques:
1) Layering a texture onto itself and scaling one layer 4x with UVs
2) Rotating that re-layered texture
3) Employing a black and white mask to mix in an entirely different texture
I'll try taking off that last technique and showing that it still tiles pretty badly.
Anyone else know how to implement procedural height/slope terrain texturing?
He gets a little rambly, but he really, REALLY dumbs his material down (for better or for worse) so you can easily learn the fundamentals of Material Editing. From there, implementing some of the techniques above shouldn't be hard.
[ame="http://www.youtube.com/watch?v=aiE4fVCtEBQ&feature=relmfu"]Unreal Development Kit UDK Tutorial - 23 - Textures and Materials - YouTube[/ame]
Also, if this is too dumb for you I apologize, I definitely don't want to sound condescending after you possibly helped me out!
http://forums.epicgames.com/threads/722796-High-fidelity-terrains-with-supermasks-and-normal-maps
1) open up your texture in photoshop
2) open up the 'channels' view and select the channel with the most big colour differences
3) run a high pass filter on it (filters>other>high pass...) This should make it more even.
The best solution to bad tiling is to not have textures which tile badly.
using extra shader instructions to fix bad source art is a waste of shader instructions and therefore performance.
Sometimes you can get more out of having two 512x512 with different textures, then having one 1024x1024.
http://www.3dbuzz.com/training/view/how-do-i-unreal/how-do-i/paint-a-terrain-height-map
http://www.chrisalbeluhn.com/UDK_Advanced_Vertex_Painting.html
http://eat3d.com/free/vertex_painting
The second is the high pass filter trick already mentioned. Doing it on all three channels may be necessary.
Don't forget that the tiling will also be broken up with geometry. Trees, grass, plants/shrubs, rocks etc...
You really don't want your texture scaled up too high. Try to keep to a scale that accurately represents the size of the details in the texture. For instance your grass texture looks like the blades would appear 100 feet long to someone standing in the level.
What I do to reduce tiling is I have a greypack texture that has cloud filter run on each channel for unique shapes. Then I use a material expression to mix that into my diffuse channel and control the black level of the clouds. So for instance I have something like this attached image in every shader I use that has to cover a large area. This is a very low cost way to add variation to your shader.