Jump to content
3DCoat Forums

Workflow question


ajz3d
 Share

Recommended Posts

  • Contributor

So I have a character model that has been sculpted with voxels, retopoed, texture-painted, has a SSS shader set-up and is partially rigged in external app. The thing is, that instead of beast claws, he needs to have ordinary human fingers.

In other words, the creature's volume needs to be altered in the voxel room and the changes made - retopoed and textured.

Retexturing of the whole model, excluding the fingers part of course, is out of the question.

What workflow does 3D Coat offer in this case? How do I preserve uvs and textures of every unaltered part of the model after the change to its geometry has been introduced?

Link to comment
Share on other sites

  • Contributor

Yeah, you can probably get a lot of the detailed info you may need from that thread, nontheless here is a summary of what you can do which more exactly matches your needs:

Import your mesh and voxelize it (File-Import-Import mesh for voxelizing). Be sure to select "yes" to remember its position in world space. Remove the claws and replace them with human fingers (using the voxel tools). When you are happy with your changes, then go to the Retopo room and import your original mesh there. It will appear as a cage around your newly sculpted voxel version. You can choose to snap it to your voxel mesh or not (snapping may not be necessary). Of course the parts of your mesh which used to be claws will still be on your original mesh, so you need to select those polygons and delete them. Then create new polygons around your newly sculpted human hands (using the retopo tools). When you are done with the retopo work, then you can go to the Retopo menu and choose "Merge with NM (per pixel)" or one of the other per pixel options. There will be an option box that appears called "Import object for per pixel painting". In the section called "UV-mapping type" choose "Keep UV". Fill out the other sections and choose "OK". This will then send your new retopo mesh (with your new fingers) to the Paint Room. Now in the Paint Room you can go to "Textures-Import-Diffuse Map" or choose whatever other maps you want to import. They will be added to Layers in the Layers panel. After importing everything you will see that the areas with the new human hands will need to be repainted, but the rest of it will be ok. Just paint the hands the way you want and when you are done, then go to the UV room and change the UVs to the way you like around the hands areas. Then be sure to click on the "Apply UV-set" button in the tool panel. This will update the UVs to include the hands, but your painting in the Paint Room will stay the same. Finally, Export your new model from the Paint Room with File-Export Model.

This way you can quickly make the changes you want without having to repaint most of the textures.

  • Like 2
Link to comment
Share on other sites

  • Contributor

I just tested the method I described above.

I took one of my old character meshes, voxelized it, and then cut off some of his fingers. Then I patched the holes with the retopo tools. I did notice that this instantly messed up the UV islands on the hands, so I had to go in and add some more seams, unwrap only those islands, and then place them into empty spots in the UV map. Other than this extra step, the rest of it worked fine as I described above. Therefore this method works fine as long as your changes are not extremely drastic. It should work fine for something more minor like you are attempting (replacing the claws with hands).

  • Like 1
Link to comment
Share on other sites

  • Contributor

Guys, thank you very much for replying in such short notice. I find your answers very, very helpful, especially Timmy's very detailed posts that hit a bullseye in this particular case, because it's all about not messing with UVs of polygons that aren't going to be changed. The "claws to fingers" change is a rather small one, so I hope I will find enough space in the UV square to squeeze those fingers in. They're going to be much smaller than claws, so I don't expect any problems.

I'm trying your idea out the moment I write this post. I'll reply again how it turned out after I'm finished with it.

Thanks again guys. I appreciate it.

Link to comment
Share on other sites

  • Contributor

Oh rats! I had some problems with merging the hand OBJ model into the 3D Coat scene. I've had one's everyday low-poly palm model merged into the scene. Then, I've sucked out some of the virtual clay from the feet and palm areas of my model. With all the clay, that formed the claws, gone, I've began to shape the imported palm (on separate layer) to roughly fit the rest of the model. I've hidden unnecessary voxels, to just display the feet and palms, turned on the symmetry for imported human palm OBJs and began reshaping them a bit (transforming, moving, posing, etc.). Then saved my work.

On Saturday I turned on my rig with a big optimism. I've loaded the scene only to realize that the symmetrical reflection of the imported OBJs volume is all black! Weird. I've began doing some stuff on it, but the 3D Coat crashed with an "Out of memory" message and telling me that I need to set more virtual memory. Well, I've got 8GB RAM and 32GB of virtual memory (the latter because of my experience with 3D Coat eating up RAM on breakfast). Okay, I've closed the app and killed some of the resident processes. Restarted 3D Coat, loaded up the scene and the black palm was still there, but as it turned out, it was some surface "whatever" (instead of being V for Voxels). I've Symm copied the new palm layer and the problem was gone.

Oh, take a look at this picture. The upper part shows the imported and voxelized palm OBJ model after I've loaded the scene on Saturday. Please notice the black mirror copy of it. For testing purpose I've placed a long snake on the original palm. Notice that it looks fine on the mirror copy.

blackhands.th.jpg

Jeez...

Anyways, I'd also like to ask you chaps about this weird thing when two volumes are merged, or are separate mesh shells upon import. Take a look at this YouTube video. There's a weird gap in the volume. I'm using Fill tool, then smooth and finally the Grow tool. As I paint with, be it my tablet or mouse, it adds voxels in a very strange manner, I call it "blocky". Why is that?

http://www.youtube.com/watch?v=uEJWl_oK2cw

I had a lot of problems with this weird behaviour (and even worse!) a week ago when I was sculpting a birch tree imported from Maya. Converting Maya paint effects to polygons results in branches being separate mesh islands. In 3D Coat, joining those islands back to the main tree trunk required me to use voxel Clay tool or Carve tool in order to fill empty areas between them. Grow and Fill tools didn't seem to work. They simply did nothing when applied to those areas. After the branch had been connected to the trunk, Grow and Fill worked again. Very strange.

P.S. Sorry for mistakes. I wrote this post at 3 AM.

Link to comment
Share on other sites

  • 4 weeks later...
  • Contributor

Instead of an expected one or two days of work to replace the geometry and re-paint the textures on new areas, it's now the second week I've been struggling with the retopo room bugs in beta4 (luckily, this is a personal project, I'd be in serious trouble otherwise). ;) And I didn't even start with unwrapping the new parts of the mesh. Today, after long days of finding workarounds for those nasty insects, I've stumbled upon another one. This one though, I have no idea how to overcome.

The problem is that when I try to perform an "Apply symmetry to the current layer" operation in the retopo room, it destroys all UVs on the other half of the model. You can see this on the attached picture:

Does anyone have an idea what can cause this to happen?

I could, of course, disable symmetry completely and manually do the same changes for the second half of the model that I did to the first (merging and moving a couple of polygons). That's probably what I'll end up doing, but I'd really like to avoid it.

Oh, one more thing. I don't know if it's important or not, but I've turned off autounwrap. I did this because, as I said before, I don't want UVs changed in any way and autounwrap did change them on almost every action.

post-12523-0-63566000-1352333628_thumb.j

Link to comment
Share on other sites

  • Contributor

I've disabled the Virtual Mirror Mode, symmetry and started to manipulate the vertices on the other side of the model in order to join the right foot and hand to the body mesh. Very soon I realized that some weird non-manifold geometry appeared in the area along with some holes in the mesh. After a short while 3D Coat (beta5) became unstable and crashed without an error report!

Help? :unsure:

P.S.

The problem is that when I try to perform an "Apply symmetry to the current layer" operation in the retopo room, it destroys all UVs on the other half of the model.

I took a closer look at it in the external app and it seems that UVs of the other half of the model are still there, but are flipped and placed over UVs of the first half.

Link to comment
Share on other sites

  • Contributor

Ha! Finally managed to dig my way through retopo. Disabling the virtual mirror and symmetry BEFORE importing old retopo model (without feet and hands) seemed to do the trick! I merged the old with the new, UVed brand new limbs in external app and voila. I'm finally ready to paint the missing textures.

Link to comment
Share on other sites

  • Contributor

By the way. Because I had to disable symmetry to avoid bugs, the model isn't 100% symmetrical. I have already painted my epidermal scatter texture for left hand and I thought that I'd just quickly copy/paste it to appropriate position with Photoshop and correct the seams back in 3D Coat. The thing is, that to properly position the copy-pasted hand texture I need to export the UV lines to a file first and I'm not sure how. There's this "Textures->Export UV" command, but instead of exporting UV lines to a plain image file, it exports to OBJ or other 3D format!

I'm looking for something like "UV Snapshot" from Maya. Is there anything like this in 3D Coat?

Link to comment
Share on other sites

  • Contributor

Yes, it would be nice to have a layer in Photoshop which showed the wireframe (like Maya's UV snapshot). This is a good feature request!

Anyways, you get a similar result with this:

In Paint Room, go to Textures menu, then choose Texture UV Editor. It is a lot like painting on your UVs in Photoshop, and there is a button near the top of the window which will turn your wireframe on or off.

Link to comment
Share on other sites

to see wireframe use:

paint room

layers

export

color -only export current layer selection-

open the saved psd file in photoshop or gimp

you can see 2 layers:

- one with the color with multiply blend

- the another one the wireframe UV map

  • Like 2
Link to comment
Share on other sites

  • Contributor

It appears one can't paint depth over layer with "Normal Map" blending! If you do this it will have completely no impact on normals. But it doesn't mean that 3D Coat doesn't register strokes that have been made. It does. If you change the normalmap layer blending to "Standard blend", you can clearly see them!

Is it supposed to be this way? Looks like a bug to me.

Link to comment
Share on other sites

  • Contributor

It's not only baked normals that cannot be modified. Try importing a normal map from file or just create a new layer and in both cases set the blending mode to "Normal Map". You'll realize that you can't paint depth over those two layers.

I did what you suggested, painted the depth over a new layer (set to "Standard blend"), exported the normal maps to file and re-imported them into my scene. Then, cleaned-up the scene by removing old normal map layers that were no longer necessary.

I find it counter-intuitive and confusing, because one would expect depth brushing normal map layers to work, without forcing him to hassle with export/import operations. I think this should be fixed, maybe not immediately as there are more pressing issues, but sometime in the future.

Link to comment
Share on other sites

  • Contributor

After retopologizing the mesh and baking the normals I've deleted voxel volume (live clay surface to be precise) to preserve memory. I still have it backed up in a separate 3b file of course. I've painted all textures and exported them to files, but then realised that I forgot to bake displacement map. And baking displacement map requires voxel volume.

How do I import the voxel (live clay) volume from an external 3b file back into the scene?

Link to comment
Share on other sites

  • Contributor

Thank you for your reply, Carlosa. Merging went without any problems, though I'm not sure what to do in order to properly export the displacement map.

It would appear that now, when my reference voxel volume is loaded, using the Texture->Export->Displacement map for all visible layers would be sufficient to generate the displacement texture. Unfortunately, a completely grey map is what it returns..

I tried the Texture Baking Tool as well, but the result was far from satisfactory too.

Please, take a look at attached images:

1. A comparison between three different results, with the last one being displacement map generated for the model a couple of weeks ago (before I introduced the changes). Don't pay attention to additional UV islands on the last dispmap, they're just an old geometry that I have replaced.

2. Settings I used for displacement map generation in Texture Baking Tool.

What could I be doing wrong?

post-12523-0-38563600-1352816369_thumb.j

post-12523-0-31335000-1352816381_thumb.j

Link to comment
Share on other sites

  • Contributor

Okay, I have spent the whole evening trying to understand what the heck was going on and I think I can safely say that displacement map calculation and export are completely broken in V4 Beta5. I'm pretty positive that there's no way in which you can export correct looking displacement. I've even tested it on a default voxel head model with the same result.

Depending on how you export those maps (through export-texture or through Texture Baking Tool), they're either completely zeroed out (like there was no displacement at all) or are full of garbage. It's surprising, because there were no problems with them in latest V3 dev versions.

I'm unable to finish my work. :dash2:

Link to comment
Share on other sites

  • Contributor

I've installed 3.7.08B again, from which I once exported nice and detailed displacement map before and I can't repreat it now! And I think I know why...

What it appears to be, is that exporting a displacement map via Texture->Export->Displacement Map for All Layers exports it only if the layers contain depth information. Otherwise, all you get is a plain colour image.

So, the reason why I was able to export a nicely detailed displacement map earlier, was that in previous versions of my scene I had a lot of depth information contained in my layers.

Since then, I have merged and exported all depth information along with a normal map layer to a normal map texture file, clearing unnecessary depth information from all layers afterwards. A single normal map layer was sufficient for me.

This means, that currently, I don't have any depth information in my layers. I use normal map layers instead and this is why I think the displacement map won't export.

QUESTION: How do I convert normal map layer back to depth information?

Now, the strange thing is that the old displacement map isn't really a displacement map in the full meaning of the word. It contains information about tiny details painted with the depth brush, but it doesn't take into consideration the difference between the low-poly mesh and the high-poly, or even big voxel mesh.

I'd expect it to compare the low-poly mesh to the big voxel mesh. This is how I thought it works in 3D Coat.

I've managed to generate "proper" displacement map in the Retopo Room, with voxel volume (in surface mode) loaded in the Voxel Room and using the Bake Texture command, but it still isn't perfect. Why? Well, first of all it contains strange holes in places where there are no holes in the mesh. Then, there's the loss of detail, because it doesn't take a normal map into consideration (no way of loading one at this stage).

I'd really be grateful for some tips on how to generate a displacement map that takes the difference between the low-poly mesh and the voxel volume (I have it now) into consideration AND the sum of all normal maps loaded into Paint Room layers. A guide of some sort perhaps? ;)

Link to comment
Share on other sites

The normal map baked cant be exported as a displacement map

for displacement, microvertex is better

remember > microvertex requires a good uv map, to prevent projection errors

guides

http://3d-coat.com/forum/index.php?showtopic=10482&hl=%2Bnormal+%2Bdisplacement&fromsearch=1

http://3d-coat.com/forum/index.php?showtopic=10137&st=0&p=78406&hl=+normal%20+displacement&fromsearch=1entry78406

Normal to displacement thread

http://3d-coat.com/forum/index.php?showtopic=10018&st=0

  • Like 1
Link to comment
Share on other sites

It appears one can't paint depth over layer with "Normal Map" blending! If you do this it will have completely no impact on normals. But it doesn't mean that 3D Coat doesn't register strokes that have been made. It does. If you change the normalmap layer blending to "Standard blend", you can clearly see them!

Is it supposed to be this way? Looks like a bug to me.

Not a bug. Just it works so. Depth is disabled to avoid msessing with smoothing - you may smooth normalmap with SHIFT or ease details with eraser. If deppth will be allowed then it is not clear what that operations should do - modify normalmap or smooth/erase extra depth.

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