Jump to content
3DCoat Forums

How to prevent depth accumulation in the Paint Room?


ajz3d
 Share

Go to solution Solved by digman,

Recommended Posts

  • Contributor

Imagine that you have a surface with baked normals (separate layer). You create a new layer, paint color, depth and specularity on it. Then you create another layer on top of the first layer and again: paint color, depth and specularity information.

The depth from both layers, that have been created, accumulates in areas they intersect each other.

How to prevent it? How to force 3D Coat to use depth information from the second layer only (in areas where both layers meet), and at the same time include normals from the baked normal map layer?

Layers:
- NormalMap
- secondLayer
- firstLayer

Link to comment
Share on other sites

  • Contributor

Sure. Here's an exemplary image.

There are two layers: 70 and 71. 70 has dots as depth information, 71 those other shapes.

I'd like the depth of layer 70 be completely replaced by depth of layer 71.

There's always an eraser tool I can use to remove depth from layer 70 in the areas both layers share, but I really want to avoid it, because I have a lot of such places and it would take a long time to clean them up by hand.

post-12523-0-70546400-1361129871_thumb.j

Link to comment
Share on other sites

  • Contributor

I f you delete layer 70. all that will remain is the depth information in layer 71, thus "I'd like the depth of layer 70 be completely replaced by depth of layer 71" is brought about with one click. Perhaps you want the bumps to survive where there is no '71' depth, in which case, you would need to mask for layer 70 where you didn't want bumps.

Link to comment
Share on other sites

  • Contributor

"When it is disabled(...) In case of ambiguity, the highest or the deepest stroke is chosen."

So unfortunately, this wouldn't work because if layer 70 had greater depth values in areas it shares with 71, 70's depth would be preserved. Also, this works only while painting and I have depth already painted.

I thought about "freezing painted pixels" of layer 70, inverting the freeze and simply deleting all depth information of the layer 70, but I have only depth information on both layers (no color or specular) and 3D Coat doesn't treat depth as "painted pixels".

Link to comment
Share on other sites

  • Advanced Member

maybe you can trick it to be a painted layer. Turn off all the layers you don´t want as a freeze/mask and then export the normals. You might have to turn off the "fill empty areas". Import the normals again as a diffuse layer and use it as freeze. This is only a theory as my 3d-coat is blocked due to combining voxel layers at the moment.

(While re-reading it before sending it. Isn´t the normal coverage the same as the color coverage of that layer?)

Link to comment
Share on other sites

I think the best way is to use layer linking (as suggested above). If you paint colour at the same time as your depth it makes it easier, either way though, you can use it to mask the depth on another layer. I did a video on it not that long ago actually, maybe you'll find it helpful for what you're trying to do.

https://vimeo.com/57107123

Link to comment
Share on other sites

  • Contributor
maybe you can trick it to be a painted layer. Turn off all the layers you don´t want as a freeze/mask and then export the normals. You might have to turn off the "fill empty areas". Import the normals again as a diffuse layer and use it as freeze. This is only a theory as my 3d-coat is blocked due to combining voxel layers at the moment. (While re-reading it before sending it. Isn´t the normal coverage the same as the color coverage of that layer?)

This is interesting, although I'm afraid it doesn't work in practice. The problem is that the Normal Map exports without an alpha channel. What it means, is that if I use it as a freeze mask, it will freeze everything. However, you've put me on the right tracks (see the end of this post).

I don't know if this will help, but you can right click on a layer and choose Set Height to Zero.

Thanks Bisenberger, but this would remove all Layer 70 depth information from places I want it to remain.

I think the best way is to use layer linking (as suggested above). If you paint colour at the same time as your depth it makes it easier, either way though, you can use it to mask the depth on another layer. I did a video on it not that long ago actually, maybe you'll find it helpful for what you're trying to do. https://vimeo.com/57107123

Javis, very interesting video. Thanks for posting it. If 3D Coat would treat depth information as painted pixels, I think this would do the trick.

Okay, I followed Puntoit's advice, but in a slightly different way. In the layers menu, I found this command called "Copy channels". I have created a new, temporary layer to be used as destination in a copying operation, then I've set it's Red channel as destination, Layer's 71 Depth channel as source and Replace as copy method.

Now, in theory it should work, resulting in the temporary layer painted in red, only in places where Layer 71 has depth information. However, I think there seems to be a bug in the Copy Channels command, because this is what it returned (note the black-squared outline).

Still, this is as close as I can get without manually erasing the depth from Layer 70. Do you think I should report it to Mantis?

P.S. I've noticed that Expand/Contract Frozen Area doesn't seem to work. Can someone confirm this?

post-12523-0-87357900-1361373587_thumb.j

Link to comment
Share on other sites

  • Reputable Contributor
  • Solution

First, a color that is painted on a layer will freeze even depth in all layers by using the "Freeze Painted Pixels" in that color's layer drop down list.

Create a Layer.

You can paint your design or area to freeze by color. (I do not paint any depth as I just want my design created first.) Personal choice there, you may choose different of course. I will give you my way and then you can adjust it as you so desire.

After painting color, freeze the color by right clicking on that layer in the Layers Panel and choosing "freeze painted pixels"

Create a new layer for your depth work. A mask works through all layers.

Paint your depth brush selection in the unfrozen part. You made also paint your color and spec as well, your choice...

Note: Turning off the color that you froze will not turn off the mask. Important for the below...

Ctrl-Shift-I to reverse the freeze.

Paint your new depth brush selection in the unfrozen part.

The two painted depths will not intersect, no build up but of course the mask will prevent you from painting over the area that you froze.

The above is a simple use of the method and not limited to what I just wrote. I just gave you one depth layer example but you can use more than one layer for painting your depth of course. Also you can have more than one layer for creating masks.

Explore and have fun as there are many ways of doing the above...

This might not be want you want but it is good for creating designs. Also the above method is not meant as a replacement for the mask layer option in the blending panel but just as just another workflow...

The image is shown not for quality but shows depth in the design by different kind of brushes but not intersecting each other...

On the right is the color I used to create the mask by freezing the color before painting any depth...

post-518-0-18917000-1361432897_thumb.jpg

  • Like 1
Link to comment
Share on other sites

  • 3 years later...
  • New Member

I have the same problem.

I have model with two layers with two different materials (lower layer -Kevlar, upper layer - Paint).

Now lower layer affects on upper layer (displace, specular). (Picture 1)

But I want lower layer shouldn't affect upper layer at all where two layers have intersections.

Upper layer must look like (Picture 2).

I got the result I need (Picture 3) with freezing/masking upper layer, but I want to know, may be for the last three years appeared a simple way to paint one layer over another without any interference?

 

post-40115-0-03666600-1458049042_thumb.j

post-40115-0-71434100-1458049055_thumb.j

post-40115-0-44950100-1458049068_thumb.j

 

Sorry for my bad English.

Thanks for the help.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...