Jump to content
3DCoat Forums

Latest Documentation on Creating Displacement Maps


JPWestmas
 Share

Recommended Posts

  • Member

Hi Guys, could somebody please point me to the "official" documentation for how to create a Displacement Map in 3DC 3.7? I followed a lot of different techniques I found online but there is something I'm missing because my maps don't have any detail projected into them. I did this once before with a mesh I retopoed in 3DC 3.5. But now I'm can't get it to work in 3.7.

xnormal works with some models but not so well with others so I'm hoping I can get it to work with 3DC.

Link to comment
Share on other sites

  • Reputable Contributor

Can you describe your workflow in more detail as there are a number of ways of first getting your model into the paintroom for displacement maps.

Merging from the retopo room

Importing for microvertex

Painting details on a model imported for per-pixel painting

A reference big mesh (high polygon mesh up to 16 million) projected on a low polygon mesh ( must have same uv maps) . That is under the File menu / import. Your low polygon mesh must be in the paintroom already merged using microvertex method.

Finally there also is importing for Ptex.

Your problem as stated lies in the projection of the displacement map on the uv map. Again there are a few ways of doing this.

More details given and maybe a screen cap would help to solve your problem.

Link to comment
Share on other sites

  • Member

Okay, thanks. Here is my process:

I'm importing a big mesh in from zbrush through the merge 'voxel' tool. When I bring it in it's around 11 million polys/voxels or whatever it is. That's the resolution that it says when I click on the Autoscale button in the merge tool panel.

So the mesh comes in and the voxel sculpt looks pretty darn good, tends to capture the zbrush scupt just fine. I switch to the topo room and there I import my cage mesh, which is the mesh that I imported into Zbrush before I sculpted. That mesh has UVs on it that I applied in modo before import.

So I bake the texture using the Retopo> Bake Texture tool in the retopo room. Attached are my settings but I'm pretty sure I exhausted every combination so what I'm doing wrong is probably a single step that I can't remember. I've done this once before with great success but that was with a model I retopoed inside of 3DC and didn't need to import it. So something about the cage mesh is not agreeing with 3DCs results.

I can't think of anything else to say about this, but I think I remember I needed to do a hull merge something but that didn't have any effect either.

post-1365-0-08430800-1335191101_thumb.jp

post-1365-0-23080600-1335191260_thumb.jp

post-1365-0-46948300-1335191291_thumb.jp

Link to comment
Share on other sites

  • Member

I actually didn't try the snapping of the poly mesh to the surface of the voxel mesh because that was taking forever to do. Would I need to do that I wonder?

Yeah the snapping option isn't working, just hangs there in the balance.

Actually I'm thinking I'm missing a simple step here. I know this cage mesh wouldn't provide the necessary silhouette to get good results but it isn't working at all, which concerns me.

Link to comment
Share on other sites

  • Contributor

It looks to me like you are not putting the right file name in the "mesh to receive projected textures" field in the Texture Baking Tool window. You need to put the file name of your low poly mesh in there. Right now it says "BakeRetopoMesh.obj" and I don't think that is the one you want.

Link to comment
Share on other sites

  • Reputable Contributor

The texture baking tool was broken. Andrew just fixed it and reuploaded the newest beta but for windows only...

Your method is fine except you want to choose your model that has the uv file with the correct path.

Also you can import the Zbrush high polygon mesh without voxelizing. It is in the merging dialog box. In comes in as a polygon mesh in surface mode and you do not need to worry about resolution size to capture the details. This works great if you just want to bake from the retopo room or do some more detail sculpting with LC brushes. If you switch to voxel mode after you merge for without voxelizing you will then need to increase the resolution size to capture all the details just like normal voxel merging.

Surface mode baking takes a little longer than voxel mode baking.

Try again and see if it works, At one time the texture baking was not working properly in the retopo room but it was in the paint room. I hope that got fixed too.

Newest beta

http://3d-coat.com/f...topic=8887&st=0

Link for Andrew fixing texturing baking tool.

http://3d-coat.com/f...pic=8887&st=940

Link to comment
Share on other sites

  • Member

The texture baking tool was broken. Andrew just fixed it and reuploaded the newest beta but for windows only...

Your method is fine except you want to choose your model that has the uv file with the correct path.

Also you can import the Zbrush high polygon mesh without voxelizing. It is in the merging dialog box. In comes in as a polygon mesh in surface mode and you do not need to worry about resolution size to capture the details. This works great if you just want to bake from the retopo room or do some more detail sculpting with LC brushes. If you switch to voxel mode after you merge for without voxelizing you will then to increase the resolution size to capture all the details just like normal voxel merging.

Try again and see if it works, At one time the texture baking was not working properly in the retopo room but it was in the paint room. I hope that got fixed too.

DAHH! omg, why has it been like this for so long. Anyway, thanks, I'll try the latest. Yeah I know that I would have to retopo it, I just wanted to get it to work.

OH, so you say I don't have to voxelize it, that's excellent!!

Link to comment
Share on other sites

  • Member

Ok got the latest version running now.

question: Do the high poly mesh and the low poly mesh need to be in the same group or separate. When In different groups I get a blank displacement image, I mean nothing on it. When in similar groups, I run out of memory.

Link to comment
Share on other sites

  • Advanced Member

[[ Textures > Texture Baking Tool ]] works for me now in 3.7.10A, which didn't in the previous versions. My high poly mesh is hidden and low poly mesh visible using the [[ Windows > Popups > Sub-objects ]] popup (which I docked in the paint room) just in case that matters. I used the BakeScanDepthIn and BakeScanDepthOut numbers from the retopo room [[ Retopo > Baking_parameters ]] since that tool allows me to preview each. My low poly mesh (384 quads) and high poly mesh (1,572,864 quads) are both from ZBrush and both have the same UV set (not sure that matters for the reference mesh when using PP, but having UV's on the retopo mesh certainly does).

I'll try to list my steps as best I can. Hopefully something can be gleaned from it (I'm still learning displacement mapping, always used to get blank maps too):

1) In paint room: File > Import > Reference Mesh (chose high poly UV'd mesh)

2) In paint room: View > Relief Only (so I can see details)

3) In paint room: File > Import > Retopo Mesh (chose low UV'd poly mesh, said NO to snapping

4) In retopo room: Deleted RetopoGroup1 since my low poly loaded as defaultMat (via docked Groups popup)

5) In retopo room: Retopo >Baking_parameters (set/previewed my bake scan depth)

6) In retopo room: Retopo > Merge with NM (per-pixel) (see first image below for settings I used)

7) In paint room: Turned off visibility of high poly mesh to see my NM results (using Windows > Popups > Sub-objects)

8) In paint room: Left "Layer 1" selected. Other layers I see are Layer 0, Color, and Normalmap.

9) In paint room: Textures > Texture Baking Tool (see second screenshot below, scan numbers were from retopo room)

All my maps were generated correctly when I clicked the Ok button. I don't know if any of this is helpful, but it's the first time I've succeeded at creating a displacement map. I've never had any troubles with the other ones for what it's worth.

post-9206-0-76101100-1335341070_thumb.jp

post-9206-0-02167100-1335341080_thumb.jp

  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

K got it to bake but I'm just getting blank images. =( Very odd. Anyone else getting this to work?

Yep, same problems still with us

Import a high polygon mesh without voxelizing in the voxel room or the normal way.

import the uv mapped low-polygon version into the retopo room. I hardly every snap to the voxel/surface mesh as it does not work well on a complex object.

Really in most cases there is no need to snap to the voxel/surface mode model. The low-polygon fits close enough.

Use the Texture Baking tool with the correct parameters from the retopo room for a displacement map.

Yes, all you get is a blank map....

@Zeddicus

The above method is one of the standard ways to get a displacement map without going through the paint room. It has been bonkers for quite sometime and the fix that Andrew did yesterday did not fix it...

Link to comment
Share on other sites

  • Advanced Member
@Zeddicus

The above method is one of the standard ways to get a displacement map without going through the paint room. It has been bonkers for quite sometime and the fix that Andrew did yesterday did not fix it...

Well it's the first time I've successfully created a displacement map that wasn't blank, so I don't know what else to say. What's the other method you speak of? I want to give it a try for myself.

Link to comment
Share on other sites

  • Reputable Contributor

Opps, sorry on my wording, It is the only way outside of the paintroom to get a displacement map. There is another way though but not by going through the retopo room. You are in the paint room but in a different way.

The below method will work if your high and low polygon models have the same uv map.

Import your uv mapped low polygon obj model into the paint room using the microvertex method.

Next under the file menu / import, choose (big mesh) The model can be up to 16 million polygons. You just need enough ram to support this operation and has stated have the same uv map.

3DCoat will read the details from the high polygon mesh and then projects them unto the low polygon mesh by means of a displacement map in the paint room on a layer. I create a layer for it before doing the operation. It does not load the high polygon mesh. This method is not used by many but works well as long as you have a well layout uv map.

Now the normal ways of saving a displacement map are available plus you can work more on your model if you so desire. Also normal maps and any color textures can be created... No need to use the texture baking tool with this method.

Yepper, at one time the texture baking tool worked in the retopo room in earlier versions. I think the problem reports got buried over time as Andrew is only one man and I see how that would happen...

I will make a video in about a week and post another bug report about it on mantis. Hopefully it will get fixed soon...

Link to comment
Share on other sites

  • Advanced Member

I did a new experiment using a voxel sphere, sculpted some quick details on that and then autopo'd. Textures > Export > Displacement Map Current Layer generates a blank map, whereas the texture baking tool in the paint room still worked perfectly fine, creating a nice displacement map.

Edit: Alright re-read your post a few times and I think I get it now regarding BM + MV. Importing using the big mesh option doesn't actually load the high poly mesh. It just projects the physical shape onto the mid-poly carcass mesh and at the same time creates a normal map style effect on the low poly mesh. I can then export a real normal map (the tangent Layer0 one seemed to work best) as well as a displacement map, both from the textures menu in the paint room, and all without ever going to the retopo room or any other room. When I chose Textures > Export > Displacement Map of Visible Layers the result was a perfect map that was not blank at all. So what was it that's not working? I think I need to read this thread from the top again lol. ;)

Link to comment
Share on other sites

  • Reputable Contributor

You got it... :drinks:

This statement in this part of your post is little off for your information "and at the same times creates a normal map style effect on the low poly mesh."

It creates the displacement map, plus you get to export a normal map based off the displacement to boot.

The texture baking tool being broken in the retopo room is not good as it frustrate new users who are unaware of the problem.

Also just to make it clear when you merge (bake) from the retopo room to the paint room in the normal way, there is no need to use the Texture baking tool as yours maps are already baked plus they are already bake in the other way I described to you.

I nearly always export my baked textures using ( textures / export/ choosing the diffuse, normal or displacement) I like it the most because I get to name the files the way I want to...

Anyway glad ya got it figured out... B)

Link to comment
Share on other sites

  • Advanced Member
This statement in this part of your post is little off for your information "and at the same times creates a normal map style effect on the low poly mesh."

It creates the displacement map, plus you get to export a normal map based off the displacement to boot.

Yes the mid-poly carcass mesh definitely gets displaced, but the low poly mesh doesn't. Rotating my test mesh so I could see displaced areas edge on showed nothing was actually changing physically on the low poly mesh, hence why I said it looked similar to a normal (aka bump) map. Whether it actually is a normal map or not I do not know since there doesn't seem to be a normal map layer like you get with the other method (just Layer 0 and Layer 1 which isn't very descriptive lol). Anyways thanks for helping me out. Much appreciated! :)

Link to comment
Share on other sites

  • Member

ok that was easier, I'll have to do more tests to confirm but the displacement map I get out of importing the low poly as a micro-vertex paint mesh (in the paint room) and then loading the Big mesh on top of that seems to do the trick. Just export the displacement and I do get some results this time.

Thanks for the Help!

Link to comment
Share on other sites

  • Reputable Contributor

Yes, I forgot to mention, my mistake, you need to choose a mid-polygon carcass mesh for the best results when importing the low-polygon mesh into the paint room.

3DCoat chooses a mid-polygon mesh by default. When you export your model just export the real low-polygon model not the mid-polygon carcass mesh or if you prefer you can export the mid-polygon mesh depending upon if your are using the model for just rendering or animation.

Link to comment
Share on other sites

  • Reputable Contributor

Looks like there are some problems here in the method I gave you as well in the newer beta versions of 3DCoat for creating a good displacement map. I will have to test an older version. The method I gave you was great but now it produces a displacement map I can barely see using grey base and choosing black base the tif displacement files are not good at all.

Link to comment
Share on other sites

  • Member

Well I always get best displacement results (when generating the map and at render time) with a mid-level sub-D carcass/cage mesh. So depending on the render engine or animation tool performance it's really nice to be able to choose the carcass resolution like this. So glad computers are faster these days for animation though.

Looks like there are some problems here in the method I gave you as well in the newer beta versions of 3DCoat for creating a good displacement map. I will have to test an older version. The method I gave you was great but now it produces a displacement map I can barely see using grey base and choosing black base the tif displacement files are not good at all.

Yeah, it looked a little light when i generated the map too. What's up with that?

Link to comment
Share on other sites

  • Reputable Contributor

It's time for me to do some serious bug reporting as it looks like 3DCoat has developed some real problems with displacement map generating in the betas through some of the methods available to us... I will do it in the next few days hopefully...

Link to comment
Share on other sites

  • Member

So in 3.5 I imported a big mesh and then went over to the retopo tab and did a texture bake there. I got a little bit deeper and better defined Displacement map over there than I did in the paint room. What I noticed is that I got a nice long baking progress bar. Didn't get that progress bar over in 3.7

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...