2
$\begingroup$

Recently, I have been working on a rain animation for a school project in Blender 2.79. I created cobbled street tile using texture, generated normal maps, displacement map, UV unwrapped it (was just a square) etc. so it looks like this:

Street Tile

After that I created actual street using array modifier, then I used method descibed in the first answer from here to create one mesh joined from array. I also have a particle system which serves as rain so in order to add wetmaps I created separate UV map for dynamic paint, this time unwrapping whole joined street.

Actual Street

So now I have a wetmap for whole street and now I'm stuck because I don't know how to apply it, because normally you would use it with material of the road, but the material seems to be the one from back when I was creating tiles. Correct me if I'm wrong, but as I understand it each part which was previously different tiles from array modifier uses one material but they use it separately (material is still applied in squares) and that is ok because otherwise everything would look very bad if material from tiles would now be applied to whole road.

But how do I now apply wetmap to joined mesh, because I can't use it in material from individual tiles since it's destined for them and not for joined street. And I can't change material for street because i will lose cobblestone look. Is there a way to combine different materials for one mesh - one for whole and one for its different parts? Or maybe I've done something wrong along the way and in order to use textures like that + wetmaps I need to do something differently?

$\endgroup$
1
$\begingroup$

While a face of an object can have only one material, a material can use more than one UV Map, so you can add another UV map to the object to map images generated by Dynamic Paint on to the whole road. You've probably done half of this, but I'll go through the whole thing..

  1. In the UV Maps panel of the road object's Data tab, hit '+' to add a new map. Give it a sensible name, and select it to make it active.
  2. In the header of a UV edit window, you'll find the option to select which UV Map you're defining by the current unwrapping/editing session.. it should show the map you've made active. Unwrap the whole road to it. (Whichever way you like, but probably by looking orthogonally straight down at the road in Edit Mode, and U > 'Project from View - Bounds')
  3. In your shader tree, replace the 'Texture Coordinate' node with two 'Input' > 'UV Map' nodes, one for the tiles, one for the road's Dynamic Paint image sequence. (This tree only illustrates the use of 2 maps, it's not meant to recommend how you might use the rain image sequence to affect the material)

enter image description here

  1. In its Output panel, tell Dynamic Paint to use the all-road UV map when baking its image sequence. (Mine's called UV_All)

enter image description here

Then the tiles keep the mapping from before they were made into an array, and the rain falls on the whole road.

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.