suggestions for a thatched roof?

2

Comments

  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Thanks for the response, EP.

    Yes, the bump channel has a specific category for normal maps, which hopefully can be seen in the attached screenshot of the shader tree. The same screenshot should also show a matching setting driving the gradient for the color channel, which would also have a preview of the normal map itself (the forum won't let me upload the normal map as is).

    I am also attaching the result of a render applying this simple shader to a primitive plane. The results are OK, not complaining. It is just that the results are not much better than just using a texture map, but my understanding of normal maps is that they are large files, which doesn't seem worth it for the difference in results.

    It isn't horrible, so maybe people could get better results if they experiment. I am going to try some other approaches. After all, I used a replicator to generate the normal map.

    8_render_plane.jpg
    640 x 480 - 45K
    7_shader_normal.JPG
    922 x 668 - 114K
  • evilproducerevilproducer Posts: 9,040
    edited December 1969

    If it's a vertex model of the roof, maybe if you make the geometry of the roof a bit uneven instead of perfectly flat, it could help sell the image if used with an image map. might even help if you use a replicator.

  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Before I rant on in my amateurish way, I should praise PhilW and his fantasy village. Here is a default render (with no sky, low render settings, etc.) of one of the orc huts in his fantasy village. You can see what a great job he did of creating a thatch roof for the hut. I won't give his secrets away, but as he pointed out in a prior post in this thread, he made liberal use of the replicator.

    If you want professional thatch, BUY PHILW's FANTASY VILLAGE!

    I am still going to use this thread to share some of my experiments to make thatch roofs with hair, texture maps, and replicators.

    1_PhilW_Fantasy_Village.jpg
    640 x 480 - 74K
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Back to my experiments.

    Test #2 - combining improved normals map with hair in the fur setting.

    I was actually just playing with different netting ideas and accidentally got improved results with the normals shader that I used above. Part of the problem with the normals shader was that I didn't have a dense enough mesh. Results still don't work on their own, but they are much improved.

    steps

    - Created a separate vertex mesh for the netting (too thick right now) that is used for some thatch roofs.
    - Created a new box mesh for the thatch. Applied the normals shader from Test 1 to the new thatch. Subdivide several times, UV map, and apply "smoothing" in the vertex modeler.
    - (see 2 attached screenshots of mesh and render to see improved results of the normals map from that step alone).
    - Applied dynamic hair to the thatch mesh.
    - Chose "fur" (as suggested above). Set a low length even for the fur. Used the brush tool to brush the fur down towards the bottom of the thatch mesh.
    - (See attached screenshot of hair room settings)
    - Adjusted the size of the thatch and netting to fit the roof, grouped them, and placed on the cottage.
    - (See attached screenshot of result of combining normals and hair and placing on spline cottage).

    Far from perfect, but I think this general approach (combining a normals map and hair) might work with adjustment.

    a_roof_render.jpg
    640 x 480 - 35K
    a_hair_room_settings.JPG
    816 x 597 - 104K
    a_render_of_improved_mesh.jpg
    640 x 480 - 37K
    a_mesh_of_improved_thatch_base.JPG
    737 x 521 - 68K
  • HeadwaxHeadwax Posts: 9,922
    edited December 1969

    Hi I tried the normal map way, not very successful.
    Best way I found was to model the ridges in the roof on a vertex mesh,
    apply hair, then drape it.
    Make the vertex mesh invisable

    Untitled-2.jpg
    1680 x 1050 - 728K
  • evilproducerevilproducer Posts: 9,040
    edited December 1969

    head wax said:
    Hi I tried the normal map way, not very successful.
    Best way I found was to model the ridges in the roof on a vertex mesh,
    apply hair, then drape it.
    Make the vertex mesh invisable

    You could make the mesh invisible, or have an image map that looks thatch-like to help disguise thin spots or poorly "styled" areas. Probably wouldn't need any bump or alphas if the hair is done right.

  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Thanks Headwax and EP. Very helpful.

    I am still going through different options and comparing different looks. In the following two screenshots, I followed something very similar to Headwax.

    Test 3

    - make a relatively simple vertex rectangular cube.
    - UVMap the cube, making sure to have a separate shading domain for the top face.
    - Apply hair to the model.
    - Use "select by" in the hair room to grow hair on the top face pointing up.
    - Use the fur function, rather than long hair.
    - Drape all (and remember to "convert" so the draped hair is kept)
    - Use the scissors to cut back some of the hair from the edge (but don't make it too even).
    - Go to the general tab of the rectangular cube and uncheck visibility

    Note - Dudu raised some good points about thatch, such as it does not taper. I will experiment with the hair shader to (a) make the roof's color more similar to straw, and (b) make the roots and ends of the hairs more even.

    Also, I've made some changes to the spline cottage. Continue to ignore that.

    Y_hair_thatch_render.jpg
    640 x 480 - 45K
    Y_hair_modeler_thatch.JPG
    798 x 436 - 72K
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Test #4 - Using Replicators

    For this, I replicated small vertex cylinders on a roof with shelves. Of my results so far, I think this is the best. One reason that I like the replicator method is the relative ease of making adjustments to the shape and texture of the hay strands, the angle of the roof, etc. Of course, the replicator might not be easier. I might find it easier because I am more familiar with the replicator than I am with Carrara's hair modeler. In any case, here are my steps and attached screenshots if people want to experiment.

    steps

    - Insert a cylinder in the vertex modeling room. Reduce its size significantly. Make the strand more thin by reducing the scale of the sides. Make small morphs so that it is not straight. Repeat for a second strand. (You can add more variety if you wish).
    - Texture the strands. I used yellow and gray gradients and chose the "global" setting. I used the noise function for one, and lumber yard for the other.
    - Make sure that the cylinders are modeled and the hot points adjusted so that they will lie flat on the replicated surface and in the direction you wish.
    - Insert a vertex grid. Model in the assembly room so that the grid fits the cottage. Use select all and duplicate to create a few angled shelves as the roof descends.
    - Texture the shelves with a thatch-like shader.
    - Insert a surface replicator. Choose the shelf roof as the source object. Choose the strands as the replicated objects. Reduce the minimum distance between objects. Allow for small differences in the rotations of the replicated objects, and their scale. Increase the number of replicated objects until it fills the shelves (until you get the "Only # objects could be placed on the surface" message).
    - I duplicated the surface replicator then moved the duplication up and back to add thickness to the thatch.

    As I mentioned, I think these are my best results so far. Still not as good as Headwax's. Both the hair approach and the replicator approach can use a lot of system resources and slow down the application. Trade-offs.

    5_replicator_rendered_thinner_strands.jpg
    640 x 480 - 70K
    3_roof_angled.JPG
    639 x 479 - 45K
    2_replicator_settings.JPG
    591 x 608 - 47K
    1_strand_thatch_modeled.JPG
    526 x 468 - 21K
  • HeadwaxHeadwax Posts: 9,922
    edited December 1969

    Much better than the original! Assuming shadows take a lot of rendering time, maybe you could fake them with that global/local thing ..... Terrain shader? On each vertex/hair ? Maybe not?

  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Thanks for the suggestions Headwax. Searching for ways to more efficiently get the shadowed look is a great idea, and maybe there is a way to use the shader tree.

    I thought the replicator results were promising, so i wanted to see what it would look like on a model that is closer to the type of cottage I have in mind. I replaced the simple spline cottage I had put together with a vertex cottage that is uvmapped. I also added a few details to the windows and the doors.For the current purpose, the important point is that the cottage has a different roof. It is more of a domed roof. The vertex model allowed me to duplicate and rotate individual rows of the roof so I could see if I could get more finely tune the shelf look of the thatch.

    Here are the steps that I took and the results.

    Test 4b - more fun with the replicator.

    - Create a cottage with curved roof in the vertex modeler. Assign a separate shading domain for the roof, and uvmap it.
    - In the vertex modeler, select a row or two of polygons on the roof, duplicate, and slightly rotate to flatten the duplicate.
    - Repeat for several rows up along the roof (and the other side if the back of the model matters).
    - Replicate morphed cylinders on the adjusted roof as per Test 4 above.

    I also did some tests with hair on the new curved roof, and with duplicated shelves. I'll post those but I'm not very good with hair.

    m_new_roof_render.jpg
    640 x 480 - 52K
    m_duplicate_rows.JPG
    626 x 438 - 57K
    m_new_roof.JPG
    586 x 456 - 47K
  • evilproducerevilproducer Posts: 9,040
    edited December 1969

    diomede64 said:
    Thanks for the suggestions Headwax. Searching for ways to more efficiently get the shadowed look is a great idea, and maybe there is a way to use the shader tree.

    I thought the replicator results were promising, so i wanted to see what it would look like on a model that is closer to the type of cottage I have in mind. I replaced the simple spline cottage I had put together with a vertex cottage that is uvmapped. I also added a few details to the windows and the doors.For the current purpose, the important point is that the cottage has a different roof. It is more of a domed roof. The vertex model allowed me to duplicate and rotate individual rows of the roof so I could see if I could get more finely tune the shelf look of the thatch.

    Here are the steps that I took and the results.

    Test 4b - more fun with the replicator.

    - Create a cottage with curved roof in the vertex modeler. Assign a separate shading domain for the roof, and uvmap it.
    - In the vertex modeler, select a row or two of polygons on the roof, duplicate, and slightly rotate to flatten the duplicate.
    - Repeat for several rows up along the roof (and the other side if the back of the model matters).
    - Replicate morphed cylinders on the adjusted roof as per Test 4 above.

    I also did some tests with hair on the new curved roof, and with duplicated shelves. I'll post those but I'm not very good with hair.

    The best way to improve shadow efficiency would be to include/exclude items from your lights. This is especially helpful if you use raytraced soft shadows.

    My method is to set up my lights, including the soft shadows. Then I exclude the objects that I think will slow down the render to a crawl, such as dynamic hair, things with lots of transmaps (such as figure or prop hair) and whatever else may cause issues. Then I duplicate the light and choose the Only option on the duplicate light, and turn off the Soft Shadow option.

    Picture_2.png
    255 x 893 - 55K
    Picture_1.png
    261 x 910 - 56K
  • HeadwaxHeadwax Posts: 9,922
    edited December 1969

    too easy evil :)

    other thing if you are using a vertex object to be replicated you could bake on the shadows (i think) with Baker

  • SileneUKSileneUK Posts: 1,969
    edited June 2014

    Silly suggestion, but I did this with a furry dress that I had to make. Ended up making two skirts as parts of one as I could not figure where to stop one kind of hair and start another. So I made a tiered skirt out of two skirts, one above the other (but jagged in my case, sorry I don't have a closeup render handy).

    What if eg with your hair example you made above, just make a vertex object that is maybe 1/4 the size of the roof but make 4 of them, over lapping like four long-ways shingles (and minding the shadows). Put your hair on. Then you can control these four thatch layers and blend or cut and make stubby, depending on the look you want. You can even make the last hairs at the edges longer than the others to weave into the next object's hair layer. Anyways, if going the hair route, you might get a thicker layering look.

    Hmmmmm...sorry if not explaining that very well, will try to do something if I have time after the weekend.

    xx :) Silene

    Post edited by SileneUK on
  • SileneUKSileneUK Posts: 1,969
    edited June 2014

    This is what I mean in a very quick example. I pushed the hairs to give a thicker look, even though real thatch wouldn't behave like that... and I used large hairs. You need a lot of thatch to keep the rain out and encourage rain to run down the top layer of thatch to the eaves. Was messing around and tried increasing hair count, but then it got too modern/chocolate-boxy looking and hard to manage so I used the push tool and adjusted segments.

    So eg if you made 3 or 4 of these you can "shingle" them to overlap and pull the front edges of the hair into the next layer and increase or decrease hair count as it shouldn't all be uniform on an old cottage. Once you have the pitch of the vertex object aligned with your roof angle,you can choose your overlap and move it (with its hair) further into the roof if you want a thinner look. I didn't, but you need to feather the side edges to cover up the push (eg where the dark roots show on mine). I'd be tempted to make thin side pieces with hair and not try and adjust the main section up to where you have your chimneys planned.

    Sorry if it's a poor example, but I think you have better skills with these techniques than I do, Diomede.

    Will want to see it when it's done!

    xx :) Silene

    Thatch-Layer.png
    485 x 598 - 212K
    Post edited by SileneUK on
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    laurenwbr said:
    This is what I mean in a very quick example. I pushed the hairs to give a thicker look, even though real thatch wouldn't behave like that... and I used large hairs. You need a lot of thatch to keep the rain out and encourage rain to run down the top layer of thatch to the eaves. Was messing around and tried increasing hair count, but then it got too modern/chocolate-boxy looking and hard to manage so I used the push tool and adjusted segments.

    So eg if you made 3 or 4 of these you can "shingle" them to overlap and pull the front edges of the hair into the next layer and increase or decrease hair count as it shouldn't all be uniform on an old cottage. Once you have the pitch of the vertex object aligned with your roof angle,you can choose your overlap and move it (with its hair) further into the roof if you want a thinner look. I didn't, but you need to feather the side edges to cover up the push (eg where the dark roots show on mine). I'd be tempted to make thin side pieces with hair and not try and adjust the main section up to where you have your chimneys planned.

    Sorry if it's a poor example, but I think you have better skills with these techniques than I do, Diomede.

    Will want to see it when it's done!

    xx :) Silene

    Great job Silene. Thanks for the suggestions. I actually did do some tests along these lines (a hair version of "Test 4b") but I just haven't gotten better at the hair modeler and hair shaders yet. I'll try to see if I have the hair version of test 4b renders saved. If so, I will post them, or at least try to repeat them. I agree that there is some promise there (as you and Headwax have shown). One thought that I have, to address the points that Dudu raised, is to model a saw-tooth roof, and just use the vertical sections for hair (and make the roots and tips of the hair the same thickness). Not sure that made sense, but I will try to post an example later this week or maybe over the weekend.

    Unfortunately, my experiments with hair keep looking like hair instead of thatch. ;-)

    I do think your hair layer approach is worth pursuing so I will post some examples later in the week. Keep experimenting on your own if you have the time, and share your results with us. You are much better with hair than I am.

    Right now, I really need to make the cottage (including UVs and shaders), and assemble the rest of the scene, I've been using placeholders while I work on the thatch. If the final cottage is at least halfway decent, I will post the cottage on ShareCG, but my current plan is that it will be relatively low Poly.

    Thanks again.

  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Test 5
    (same steps as test 4b above but with hair instead of replicated hay)

    Here are some examples of tests I did of trying to use hair on shelved panels for the roof. One pic shows the mesh of the shelved panels. Another shows one of my attempts to try to use long hair and one is tryng to use short hair/fur. In both cases of hair, I used the hair texture control to try to even the width of the root with the tip. I've got the hair count up to about 40,000 and the hair setting is on thick.

    I think people with hair skills could get this to work much better.

    Once again, try to not let the changes in the cottage model affect comparisons of the roof in various tests.

    3_hair_short.jpg
    640 x 480 - 52K
    2_hair_attempt_long.jpg
    640 x 480 - 50K
    1_modeled_shelves_for_hair.JPG
    668 x 501 - 43K
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Test 6 - "shelf" hair test

    Steps

    - start with a basic roof mesh
    - duplicate the mesh to get a temp shadow roof mesh
    - use extrude with low settings, translate the extrusion vertically, reduce the selected area, and repeat to get a series of shelves
    - use select to highlight the thin vertical sections of the roof and give the selection a shading domain name like "shelves"
    - exit the vertex modeler
    - apply a hair model to the temp shadow roof
    - in the hair modeler, use the tool "select by" and choose your shader domain "shelves"
    - grow the hairs, adjust the length, etc. to taste. Up the hair count into the 40,000 or so range
    - drape and convert the hair

    I didn't like the results of this particular test, but I thought the concept had promise. :sick:

    2_sawtooth_yuk.jpg
    640 x 480 - 50K
    1_sawtooth_mesh.JPG
    672 x 456 - 47K
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Test 7 - simple sloped roof with replicator

    This is my favorite result so far. Very simple roof mesh (shown) to host a surface replicator. Replicated cylinders have gradient-based shaders with lighter colors. Roof mesh made invisible.

    2_best_replicator.jpg
    640 x 480 - 84K
    1_best_simple_roof_mesh.JPG
    679 x 540 - 55K
  • DartanbeckDartanbeck Posts: 21,210
    edited December 1969

    Looks cool!
    I still cannot help to recall what my boss used to always say, back when I was a roofer: "Nobody ever looks at the roof".
    He said that because we built really nice rooftops. But we have to get used to a lack of compliments of fine craftsmanship.

    That being said, I still cannot help but think that replication might be going a bit overboard, unless you're just having fun seeing how realistic of a construction as you can get - or some similar passion.

    So as a very quick test, literally only a few minutes throwing this test together, I used a render function in Dogwaffle to get a pattern that looked somewhat like thatch. But if I really wanted to do it right, I'd spend more time on it. Then I ran that as a height map on a 10' x 10' terrain, and set the height of the map at .07ft. It also looked cool at .12ft.

    Again, I have no time, so I just threw together a quick gradient shader with a fractal noise to control the gradient, and tossed my height map into the bump channel, but found that I needed to keep that bump level pretty low. But keep in mind, I'm going to bed and basically did this whole thing as I'm brushing my teeth ;)

    ThatchTerrainTest.jpg
    1573 x 754 - 911K
  • PhilWPhilW Posts: 5,139
    edited December 1969

    diomede64 - the latest test is looking good. Just a point I noticed, you will need to crease some edges on your cottage model, at the moment the smoothing is making it look like the walls are bulging out. If you select all and crease edges over a particular angle, that will sort it.

  • evilproducerevilproducer Posts: 9,040
    edited December 1969

    I have been looking to see where I read this, perhaps it was on the old forums, but I seem to recall someone saying in their experience, replicating spline objects was easier on the resources than vertex objects. I have tried different ways to look and I just can't seem to find the reference, so I just may be blowing smoke.

  • PhilWPhilW Posts: 5,139
    edited December 1969

    I can't see why it would be any different - the replicator is just a way of allocating position, scale and rotation information to many instances of an object, whether that object is a spline model or a vertex model.

  • evilproducerevilproducer Posts: 9,040
    edited December 1969

    I think it was because spline objects in general are easier to compute as opposed to a vertex object. There was an explanation that went with it, which is why I was trying to find the thread. It may have vanished into electron heaven, which is also why I said I could be just blowing smoke, because I could be remembering it wrong.

  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Thanks for the replies everyone.

    @Dart - I had done some tests using textures earlier in the thread, but I think I have learned a little bit now. I don't have Howler, but I created a similar image by just using Carrara to render out an image of the thatch. I then used versions of that to test out 3 approaches that would make various uses of the shader channels instead of hair or replication.

    Shader use 1 - combine image map and bum map

    bump_use_thatch_image.jpg
    640 x 480 - 57K
    thatch_image_replicated_1.jpg
    640 x 480 - 110K
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Shader Use 2 - combine texture map with displacement (enable subdivision in shader channel and also smoothing in vertex modeler)

    displace_use_thatch_image.jpg
    640 x 480 - 65K
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Shader use 3 - a repeat of using a normals map in the bump channel. Combine with color gradient in color channel. Use the same normal map as the driver for the gradient as used in the bump channel.

    normals_map.jpg
    640 x 480 - 58K
  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Of the three shader use approaches (bump with regular map, displacement with regular map, bump with normal map), I think I got the best results with the bump. I could see using the texture map plus bump map approach, especially if there is a concern that using hair or replicators will slow down the system. I think displacement could be used if I were to experiment more, but I'm not sure what advantage it really has over the replicator or hair because with displacement there is additional subdivision anyway. I don't like any of the results that I have been getting when using a normals map, but maybe I'm not doing it right.

    @EP - I am unaware of any advantage of splines compared to vertex models for replication. I can try using splines instead of vertex models as the hay strands in the replicator, but so far I haven't had any problems in the replication process using vertex models. The cottage might not have enough surface area to tell the difference, but maybe in a larger scene with more replicators it might make more of a difference.

    @Phil - thanks for spotting the cottage bulge. I started over on the cottage (it was just a placeholder) so I could improve the UVMaps, but I bet it looks pretty much the same as before. No bulge now.:cheese:

    For my project, given these results, I will be using a replicator approach.

  • DiomedeDiomede Posts: 15,073
    edited December 1969

    Looks cool!
    Then I ran that as a height map on a 10' x 10' terrain, and set the height of the map at .07ft. It also looked cool at .12ft.

    Terrain? Good idea, Dart.

    I took my closeup image of the thatch and threw it into the terrain modeler with low settings. I then applied the same thatch image in the color channel of the terrain modeler. The result was a flat panel for a roof.

    Creative thoughts? Maybe apply a bend modifier to fit it to the roof? Maybe have a series of narrower panels with increasing rotation? Anyway, thanks for helping me think of ways to go about this, Dart.

    And yes, I am trying different ways just to learn the tool box. For the purposes of my project, I have enough tests now that I think I know what I am going to use. But, it is still fun to try to learn the toolbox.

    terrain_thatch_render.jpg
    640 x 480 - 51K
    terrain_thatch_2_model.JPG
    675 x 531 - 78K
    terrain_thatch.JPG
    731 x 639 - 77K
  • PhilWPhilW Posts: 5,139
    edited June 2014

    In the final image posted, it looks like the terrain bump is at right angles to the color map, you would get a better result by having them aligned.

    I think you are finding that there are many ways to achieve a result! Sometimes there are multiple "best" solutions, depending on how you are going to use the result. For distant objects a mapped method may give a good result with little overhead, while maybe a replicated method is better for when the building is closer. There is no right or wrong, anything that gives the look you want for your final image is fair game. And it has certainly been interesting seeing the results of your various tests!

    Post edited by PhilW on
  • MarkIsSleepyMarkIsSleepy Posts: 1,496
    edited December 1969

    I like the idea of a mix of textures for further objects and some sort of replicator solution for nearby ones. I don't know if you have Filter Forge (I didn't until recently when it was on sale here) but I'm finding it a great source for image textures. This was made using the "Thatch and Straw" filter to generate diffuse, bump and normal maps with a quick alpha mask I made in in photoshop applied to a plane.

    ThatchTest.jpg
    640 x 480 - 114K
Sign In or Register to comment.