|10 October 2017|
How do you create thatched roofs?
We are working on a game project in a viking environment right now. I'm responsible for modeling and texturing props and buildings. I am rather inexperienced but am still familiar with the general workflow. What I do: I break the buildings up into modular pieces and reuse these to save texture space. However, that isn't possible with the roof because it doesn't really offer aspects that can be modularized. We are working in UE4 and it doesn't support 8k textures by default and we also do not want to use them because they are just so huge. Also, I can't really make use of tiling textures in the engine because thatched roofs are not a plane but "go around" the whole roof, having 90 degree turns on the edges which would result in a lot of stretching or ugly UV seams.
Right now, my results look like this:
My general workflow: Blender for blockouts -> Zbrush for high poly sculpts of modular elements -> Blender for retopology and UV mapping -> Substance Painter for texturing(metal/rough) -> Blender for arranging the modular assets and exporting the final fbx -> Importing into the engine. Most of the time I use 3-5 texture sets per building.
A few things I tried:
Using planes with an alpha mask to get overhanging parts and putting them all over the roof -> Looked messy/unrealistic and was quite performance heavy
Modularizing the roof -> Visible seams and overall it just looked like what it actually was, a modularized object that should not be modularized
Texturing the whole roof as one object -> Acceptable results for small houses/roofs, too low resolution for large roofs
Modularizing it into really large elements and having overhanging transparent pieces to hide the seams -> Acceptable results but the resolution could still be better (used in the image linked above)
As I always like to do, I also looked at how other games do this and made some screenshots:
The one from Witcher 3 doesn't really look convincing in my opinion. I really like the look of the roof in Skyrim though but I'm not sure how they did it. It certainly is a tiling texture(at least horizontally) but what I find very interesting is the transparency at the lower end. It matches with the blades of straw(do you call it like that?) and I'm wondering how you would achieve something like that. Painting it in by hand seems like a lot of work. Also, only the lower part of the roof is double sided, does that mean they used two different materials? Wouldn't that be inefficient, performance wise? Also, their concept doesn't allow the texture to "go around" edges.
So, what do you think is the best workflow for making thatched roofs/which one is the one you are using?
The options I see after testing a lot:
1. Last point in the "few things I tried" list -> texture resolution too low, even with a 4k texture
2. Changing the model to have wooden beams on the edges and then using tiled textures and an opacity mask -> Opacity mask would have a lower resolution than the thatch itself and those beams on top of the roof are rather unrealistic
3. Changing the model to have wooden beams on the edges and using the same tiled texture in two materials with one having transparency and one not (like in Skyrim) -> Looks best, performs worse(?) and also has the unrealistic beams
Thanks a lot for reading and I hope you have some ideas/can share your workflow
TL;DR: What's your workflow for creating thatched roofs?
|10 October 2017|
One way to approach it would be with CG hair rendering.
1. Create a plane stretched long in the X direction (e.g. left to right in the viewport)
2. Put a tiling texture on the plane that controls hair growth, hair attributes and so forth (the hairs will be your straws).
3. Render the hairs/straws in Cycles with some self-shadowing/ambient occlusion and alpha transparency from a CG camera looking vertically down on the plane.
What you have now should look like the straws that make up the tatched roofs in Witcher and Skyrim, complete with Alpha transparency, but because you used a tiling texture to drive hair growth and placement, the render of the hairs you get should be tileable as well with a little bit of clone-brush cleanup in Photoshop.
This should give you a decent tatched roof look with a maybe 1K or 2K texture that tiles really nicely.
It'll take some experimenting, but should be doable.
|reply share thread|