Jump to content

How to paint materials (not only textures) in 3ds max?


Jon Berntsen
 Share

Recommended Posts

Hi! I am looking for a good way to paint different materials on surfaces in 3ds max. How are you doing that? I've been using viewport canvas, but it only allows for textures and does not cut it all the way for me. I have also tried to use unwrap to export texture area, and using photoshop, leaving me with really huge textures. I want to easily paint and mix different grass surfaces, dirt paths, gravel, road. That is for just surface material use but also for quickly customized surface colors for forest objects. I would appreciate any hints

Link to comment
Share on other sites

  • 1 month later...

Perhaps you could try the camera map modifer or camera projection mapping to create a blend map. Basically render out a test render of your scene, open in photoshop to create a black and white blend image, then use camera projection mapping from the render camera and use the image created in your different vray blend materials. The upside with this is that you could create one blend map with the resolution of your renderer, and use the same map to blend for every different object in your scene. This method does only work for stills.

Alternatively, you could go for vertex painting and use vertex colors as blends in your vrayblend materials. That usually requires a pretty nicely subdivided surface to work properly, as in the distance between verteces will be the gradient of blending between the two materials.

Another method is to use vray distance tex in your vrayblend materials. With this method you specify another object (that can be hidden from camera /not renderable in the object properties), and vray will create a gradient with a set distance from the object. For example on a parking lot, if you have uneven terrain and get your parking lines in something like DWG that is flat, you could just extrude the lines so that they intersect with the terrain geometry, then create a blend material with asphalt that is grey and one that is painted, and in the blend slot set the vray distance tex to use the extruded parking area splines as the reference object. Then you will get white parking lines on your asphalt.

Of course, all of this is just based on me using vray, but there should be similar ways to blend materials in whatever renderer you may be using. The two first methods should work in all renderers as long as you are using 3ds max, as they are "standard" maps. The last method requires vray, but there may be an equivalent to the distance tex in other renderers. 

Link to comment
Share on other sites

Thanks for response Nicolai. I have tried the last two, whereas the vrayblend is being used a lot in our studio for the exact cause you're specifying, as well as dirt along the sides of the road (with higher distance parameter and together with a noisemap for a more unevenly result). The vertexpaint method feels way too oldschool to use, as it doesn't feel 2020 intuitive at all. And it does only cover maps, not materials. What I'm after, is really a method for selecting which material you want to paint, and then just paint in the viewport, wherever you want. All other methods doesn't cut it budget wise, as it takes too long to do for each scene. ? But I realize it might never happen with 3ds max.

Edited by Jon Berntsen
Link to comment
Share on other sites

Any black and white mask you create for blending between maps can also be used as an input into the vrayblendmaterials to blend between materials as well.

This tutorial below uses standard materials, but you could do the same thing with vrayblend materials.

(Also a thing to note is that if you have different materials with displacement, you are out of luck. As far as i know, they have yet to fix blending of different displacement textures to work intuitively in vray.)

 

Link to comment
Share on other sites

You are probably better off using a 3rd party for this. You can use Quixel Mixer if you are looking for a free solution, or Substance Painter if you are looking for a bit more of a robust solution. Each one is quite easy to get in and out of, so there isn't much of a bottleneck outside of the initial learning curve.

Link to comment
Share on other sites

  • 1 month later...

Hi Jon;

PS : after i read nicolai post throughly; i realize my techniques is similiar with what he describe on his 3rd technique, using vray with vray distance tex

if you use corona as your render engine, you can use corona distance map as mask and use composite map to "paint" with geometry on a surface.

The good thing with this technique is its totally procedural and non destructive. Also an easier way to "paint" road to contoured site [ if you're doing bird eye shoot and dont need to do closer / detail shoot ]

 

image.thumb.png.49056bf88d4232119bd2be797f769846.png

 

Here i apply "Land" material to the base plane; then i make 2 geometry [ text soil map and sand map ] then i put it on each corona distance map. dont forget to uncheck "renderable" on those 2 geometry. also, on corona distance node; change color near to white, color far to black, check color inside and make it white. for finishing step, adjust the distance near and distance far until you get a nice gradation. also play with the blending mode and opacity on composite node.

image.png.56034f7d4ddd5a61a01adf4d1764a6b8.pngimage.png.08c85eecd9442811ee6695fb54312b88.png

  image.thumb.png.11cc55f3476f994d3f53708fbf4eb31f.png

 

Edited by Iwan Widjaja
Link to comment
Share on other sites

Another really basic way to do this in a fast way but gives great results is to use UVW Channels.

So base texture is UV Channel 1, dirt layer Channel 2, decals 3 (non tilable), another layer 4 etc...

You can keep layering these as you wish and/or use mix maps. No need for unwrapping or exporting to another software. You can also combine this with vertex painting as Nicolai said as well to give additional control in areas.

I do not know the author of this video however it quickly shows off the power of channels.

 

Edited by James Vella
Link to comment
Share on other sites

  • 1 month later...

sorry, I do not get why viewport canvas and blend material is not what you need.
blend material: grass, pavement, gravel, rock
viewport canvas: black texture with black for grass, red for pavement, green for gravel and blue for rock.
run this texture through colour correction node to get greyscale masks for each mat.

sure viewport canvas is decade old tool that probably never got an update but it is enough for painting masks.
10k texture size limit and low performance close to that limit are the only real issues in that case.

Link to comment
Share on other sites

I believe it just feels too backwards. Just having to depend on the resolution of your geometry feels wrong and has nothing to do with painting materials imo. It also means I need to setup separate uwv channels for different sizing. It is just way too much effort. Feels like 2000, sorry. 

Link to comment
Share on other sites

nothing depends on geo in this approach.
separate map channels? just use Real-World Mapping in your mat libraries for that - this will bring you back from 2000 right away and save you a lot of time in archviz.
otherwise try Armorpaint (free soft) and see if this gets the job done faster for you than 3dsMax.

Link to comment
Share on other sites

Thanks piotrus. I believe this just proves the unnecessarily heavy approach. I don't want to use real-world mapping, because then every new asset will have to be adopted to that workflow. We share assets and use assets on interchangeable basis here. Vertex paint is not a solution, as you'd have to setup blend materials for that. Too manual for 2020. I also don't want another stand-alone software, to apply any tedious routine. What about selecting a material, which you then can paint directly onto any surface, and then you can select another material, which you can also paint directly onto any surface, (with some options for types of overlap blending). I am honestly overwhelmed that such native approach doesn't seem to exist, actually. And more so why I am the only one seeing that? Have I missed out on something? 

Link to comment
Share on other sites

  • 4 weeks later...
On 11/17/2020 at 9:37 PM, James Vella said:

as piotrus3333 mentioned why not use viewport canvas? is not what you need?

 

 

Still not convinced, but of course open to learn more about it than what I already know. No tutorials I've seen have shown me something new though. Used it in a few projects some years ago.

I want to paint whole materials and not only different textures. This is very important, and that comes first. Secondary is the oldschool feeling it has to it. And last time I did it, it heavily depended on the surface. Not enough or not correctly subdivided polygons meant inaccuracy in the paint mask. So how do you paint materials on huge landscape models then? Like a very neat ground with no harsh edges that works great as a natural looking underlay for forest pack elements on top. Today my approach would be eighter spending a lot of time creating a huge texture with unwrapping and photoshop, or using distancetex, or, the most used solution which is splitting geometry and just have sharp material edges for transitions from eg. gravel to mud to grass.

Sorry if you feel that I'm not getting your point, but I really don't see how canvas paint solves this in a good way, and neighter does distance tex, imo, since it is not easy to see live what you're working with before you're rendering it.

 

 

Edited by Jon Berntsen
Link to comment
Share on other sites

Have you tried using this approach? This is basically using the viewport canvas, no subdivisions required in geometry it can be a complete flat plane, you can see from the screenshots below the left plane has 50x50 subdivs, right plane has no subdivs just 1 polygon. This is painted using different materials using a vrayblend material and the blend amount using the viewport canvas layers as black/white. This is a stone material as base, then a grass material in the corner, and soil material in the middle/left, not just textures - all are different materials with some quick squiggles to show the effect. No unwrapping required. Just be careful of your uv channels if you need anything other than real-world (which I recommend but obviously you mention earlier real-world is not useful in your situation, so ensure you are using the right channels for your mapping).

material.jpg

material2.jpg

Edited by James Vella
Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...