Home Technical Talk

Best workflow for gravel-roads?

polycounter lvl 17
Offline / Send Message
michi.be polycounter lvl 17
Need to do some gravel-roads and concrete roads for a client but it's more tricky as I thought to get a decent look. Concrete roads are no problem but gravels are.

If I work with photo-sources the small pepples are totally washing out. So I don't get a good Normalmap from it. There is not enought contrast to use a plugin. Paining the Displacement is too much work too.

I'm considering of using several layers with large gravel and small. The small parts need to be where the wheels hit the ground often.

But at the end the pattern looks a bit repeating.

Maybe I should sculpt / scatter different sized and textured stone models on a plane and render it to a texture?! Plus using reactor to let the pebbles/stones fall onto the plane in a realistic way.

What's the best way to do it? I think I'm a bit stuck at the moment and need some fresh input. :)

Replies

  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Yeah, I'd probably go with the "scatter meshes over a plane" solution - that way you can use instanced geometry, maybe make 4-5 different little stone models of different sizes, then scatter the small ones a lot, and a lower count of scattered large rocks.

    Then you can edit the instanced geometry to scale/deform it until it looks good - since your whole gravel road will update in realtime it should be easier to see what looks better.

    Then you can get a nice normal bake along with ambient occlusion and maybe even diffuse colour if you wanted to texture each pebble with a simple generic rock texture. Might not need any work in Photoshop :)

    Harder part is making it tile well - you could probably just select a thick row of the pebbles and shift-drag move them along (assuming 3dsmax) until you reach the other end of your scatter plane.

    If you make the scatter plane an exact size then it should be easy to make it tile, eg. if the scatter plane = 256 units long then just offset the copied pebbles exactly 256 units and you know it will tile perfectly.
  • Slum
    Offline / Send Message
    Slum polycounter lvl 18
    Here's a quick way to to it procedurally in Max using pflow, it might work for you (if you're using max :P) :

    Build a couple tiny pebble models of various sizes. Convert to editable poly and combine them into a single object using attach. You can unwrap and texture them if you want, it may help for baking later.

    Throw down a plane or your ground object and assign a black and white material which is used to determine the density of pebbles.

    Make a new particle flow system. Add a "position object" operator and pick the plane. Tick the box for "density by material" and use the greyscale option. This will assign particles based on your greyscale values.

    Assign a birth operator, and set the start and end frames to 0. crank up the particle count, something like 20k is good. Make sure you set the particle system to show 100% in the viewport, otherwise your particle count will be double what you see once you render.

    Assign a "shape instance" operator. Pick your pebbles as the Particle Geometry Object. Tick the box for "seperate particle for object elements" Now just adjust the scale and variation to make it look good. I would add a rotation operator for a randomzied rotation as well.

    The cool thing about using a gradient is that you can specify where the rocks are. You can have the center have less pebbles, as if its the most traveled area (wearing down the rocks).

    As far as rendering and baking goes, you can set your pflow source plane to not be renderable, then have a duplicate plane under it with your base gravel texture.

    You can click the image here for the max file (max 2009).

    gravel.jpg
  • michi.be
    Offline / Send Message
    michi.be polycounter lvl 17
    thats awesome. thanks a lot.

    PS: My Viewportspeed stutters around 4fps. Is this normal for such a scene? I use Max2010.
  • Slum
    Offline / Send Message
    Slum polycounter lvl 18
    Yeah, it's very dense.. You can try going into the pflow and setting the viewport back down to a reasonable % of display particles and leave the render count up.
  • Eric Chadwick
    Low-tech solution, but works surprisingly well. Put the mipping to work for you. Down at the bottom of the page here.
    http://www.gamasutra.com/view/feature/2987/tool_postmortem_climax_brightons_.php?page=2
Sign In or Register to comment.