Jump to content
3DCoat Forums

Multi-res, subdivision sculpting with UVs - Feature Request


AntonTenitsky
 Share

Recommended Posts

  • Contributor

Subdvisional sculpting / muti-res sculpting has been a feature of every major 3D software out there. It allows for bottom-top approach like bringng a low-poly quad model with UV and sculpting on subdivided model keeping the UVs present and keeping original mesh intact.

It's the way every normal production sculpting is done and it's always been strange that 3D Coat didn't have that ability.

  • Like 6
Link to comment
Share on other sites

  • Member

lacking this feature in 3d coat is the only reason i still have zbrush installed, even blender has a multires modifier for sculpting on basemeshes and taking normal/displacement maps quickly and accurately. To anyone suggesting that the "conform retopo mesh" checkbox is an alternative it really isn't, the low poly gets completely destroyed at the most minor edits leaving you with more cleanup at the end than a full retopo, you can't drop to a lower subdivision to make larger proportional changes then back up to a higher level to make detail changes, and you can't leverage the multiple subdivision levels to keep you surfaces exactly as they should be much easier than if you're always working at maximum polycount.

  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor
On 8/24/2022 at 9:46 AM, AntonTenitsky said:

Subdvisional sculpting / muti-res sculpting has been a feature of every major 3D software out there. It allows for bottom-top approach like bringng a low-poly quad model with UV and sculpting on subdivided model keeping the UVs present and keeping original mesh intact.

It's the way every normal production sculpting is done and it's always been strange that 3D Coat didn't have that ability.

I understand this rationale, but I have a few points to submit for consideration...

1) The ability to import a base low poly mesh, with UV's left intact, already exists in 3DCoat. 3DCoat just separates this into a separate workspace (Retopo). Yes, it is implemented in a much different way than ZBrush and Mudbox, but it actually works and quite well in my opinion. I find 3DCoat's approach to be a LOT less hassle and it seems much more efficient than ZBrush's.

2) SubD levels/Sculpt Layers/Morphs in ZBrush ALWAYS get nixed when artists use Dynamesh and/or Sculptris Pro. 3DCoat doesn't make users jump through so many hoops and it doesn't break Sculpt Layers when dynamic subdivision is applied to a model, or booleans.

In these kinds of conversations, perceived weaknesses of 3DCoat's SubD/Multi-Res implementation are often mentioned without acknowledging the benefits it actually offers....benefits that nobody else does (offer). The frequent breaking of ZB Sculpt Layers and SubD levels never gets mentioned. Yes, I understand that stepping down to a lower res proxy (especially Decimation) in 3DCoat can take longer than stepping down to a lower SubD level in ZBrush, but in my opinion that is a very small price to pay in return for the other unique benefits it brings to the table, especially when you consider 3DCoat will add changes made to a proxy to a new Sculpt Layer. That is pretty freaking amazing...but nobody ever mentions these things. 

Anton, could you perhaps record an example of the SubD workflow you want to see implemented in 3DCoat, using ZBrush...including regular usage of Dynamesh, Sculptris Pro, Sculpt Layers, Morphs and ZRemesher in the process, while keeping your original low poly SubD, UV'ed mesh intact after all the subsequent edits? I can thereafter, record a video showing how I would try to currently handle this workflow in 3DCoat, and maybe offer Andrew some ideas in the process? Sound reasonable?

On 8/24/2022 at 10:15 AM, Tieguaili3D said:

...To anyone suggesting that the "conform retopo mesh" checkbox is an alternative it really isn't, the low poly gets completely destroyed at the most minor edits leaving you with more cleanup at the end than a full retopo....

I would beg to differ. Can you please record an example of a simple edit taking a lot of tweaking to the base (Retopo) mesh? I am the one who requested CONFORM RETOPO meshes from Andrew, to alleviate the issues mentioned in this thread. Including CONFORM RETOPO usage with Brushes. It has always worked well for me.  

 

Link to comment
Share on other sites

  • Reputable Contributor
5 hours ago, Tieguaili3D said:

...you can't drop to a lower subdivision to make larger proportional changes then back up to a higher level to make detail changes, and you can't leverage the multiple subdivision levels to keep you surfaces exactly as they should be much easier than if you're always working at maximum polycount.

You can't? Would you please screen record an example of what you mean...after first watching the following videos?

 

Link to comment
Share on other sites

The question is not if we can, but how.

How many steps do we need to perform the same operation?
How should i train my mind to understand -and remember the same steps- if it is already trained in a different type of workflow already used by most other contenders ?

If we talk about effectiveness in performing problem<->solving operations, economy of motion is the key to offer elegant solutions.
Since time is money, anything outside this axiom is perceived (by the users) as outdated and cumbersome.

...my 2 ctns

Link to comment
Share on other sites

  • Reputable Contributor
14 minutes ago, Carlosan said:

The question is not if we can, but how.

How many steps do we need to perform the same operation?
How should i train my mind to understand -and remember the same steps- if it is already trained in a different type of workflow already used by most other contenders ?

If we talk about effectiveness in performing problem<->solving operations, economy of motion is the key to offer elegant solutions.
Since time is money, anything outside this axiom is perceived (by the users) as outdated and cumbersome.

...my 2 ctns

True. I always felt (since ZB 4) that ZBrush artists might stick with a SubD workflow initially, but then use Dynamesh and Sculptris Pro at later stages...much like many 3DCoat users might use Voxels initially, but then switch to Surface mode and use the dynamic Subdivision functionality.

It is not my intention to step on any toes. I just think Andrew has already tried to address the needs discussed here, but using a different approach. I would be curious to see a workflow in ZBrush that allows users to keep their SubD levels intact and keep their original mesh with UV's still intact, after using tools like Dynamesh, Sculptris Pro and ZRemesher. I like 3DCoat's way of handling things, better, but I am open to be persuaded otherwise, if someone is willing to show me.

Link to comment
Share on other sites

  • Reputable Contributor
24 minutes ago, ArtaWorks said:

Much needed feature. There is no way to go up and down in detail levels on thin pieces like let's say clothing. Reduce and decimate is janky for that. I believe it works best for Voxels, it's not made for non-manifold surfaces.

Decimate is the better option for thin meshes, and if it is "janky," try using less decimation (if the original model is 1 mill polys, try 250-500k rather than 50k).

Link to comment
Share on other sites

  • Advanced Member
21 hours ago, AbnRanger said:

True. I always felt (since ZB 4) that ZBrush artists might stick with a SubD workflow initially, but then use Dynamesh and Sculptris Pro at later stages...much like many 3DCoat users might use Voxels initially, but then switch to Surface mode and use the dynamic Subdivision functionality.

It is not my intention to step on any toes. I just think Andrew has already tried to address the needs discussed here, but using a different approach. I would be curious to see a workflow in ZBrush that allows users to keep their SubD levels intact and keep their original mesh with UV's still intact, after using tools like Dynamesh, Sculptris Pro and ZRemesher. I like 3DCoat's way of handling things, better, but I am open to be persuaded otherwise, if someone is willing to show me.

 

@Andrew Shpagin I think the biggest difference is that in Zbrush or Blender, is that once you have a finished sculpt, whether you used Dynamesh or Scuptris or something, you can still keep sculpting afterwards.  So the Dynamesh/Scuptris is for the blockout...then once you have your finalized quad mesh, you can step up or down on the quad mesh to add more details and at that point, the linkage between the low poly mesh and the high poly mesh works both ways, where changes to the high poly mesh affect the low poly one, and vice versa.  I know 3D Coat has it's own way of handling this with cached geometry and decimation, which is fine...but that doesn't change the fact that voxel and surface sculpts are still more geared towards blockouts/preliminary sculpts as opposed to finalized sculpts and meshes as I'll outline below.

In 3D Coat the blocking out stage in voxels and surface sculpts is very good.  But once you retopo or autotopo, it becomes cumbersome to make sculpt-like wholesale changes to the mesh because you're using the modeling or retopo room tools...further, there is only a one way linkage between the high poly sculpt and the optimized retopo mesh and it works from Sculpt -> Retopo mesh.  In my opinion, being able to control high poly sculpts with low poly geometry is more valuable...and if you think about it, the main selling point of a sculpting application...being able to move millions of polygons with a brush stroke or using a move tool.  Wouldn't it be incredibly useful to manipulate a sculpt mesh by moving a single low poly face, edge or vertex?  Or even better dictating an edge loop and extrusion to create a ridge where you want it?  This workflow doesn't currently exist because changes I make to a retopo mesh have zero bearing on what happens to the sculpt.

One solution would be 3 types of sculpt meshes in the sculpt room.  1. Voxels - 2. Surface - 3. Quad/Ngon with non-destructive subdivision stepping for detail sculpting after retopology.

Moving from a Voxel or Sculpt mesh to a Quad/Ngon mesh would trigger an autotopo command and moving from a Quad/Ngon mesh to voxel/surface mode would either be a destructive step or it would cache the Quad/Ngon mesh and run the conform to retopo 

For early blockouts Voxels, Surface sculpts, Dynamesh, Sculptris are all great options...but when you want to finalize something and eventually bake, having a clean retopoed mesh where you can dictate the edgeflow is more ideal.

3 shortcomings with Surface sculpting when finalizing a sculpt.  

1. Not always able to work on a uniform mesh since it works best when dynamic remeshing is enabled.  As a result some areas of the mesh are low poly and trianagulated, while others are highly detailed.  Getting the whole mesh to be the same density is a destructive step that requires going back to Voxels and returning to surface mode...  Doing this will inevitably erode any small details you might have had, or worse merge together overlapping geometry.  It's the equivalent of Dynameshing in Zbrush...good for a block out, but not optimal for the final stages of a sculpt as compared to a subdiv sculpt where topology conformity is moreso forced and automatic when you add subdivisions. 

2. Baking becomes problematic when you have self intersecting geometry - Baking from a high poly subdivision level to it's base level would solve this...it would also provide perfect displacement maps, which has also been cited as an issue by some before.

3. Bringing an existing mesh into this space is a destructive step, where vertex order, UV information, and topology are lost.

So while I can bring my mesh into both the retopo space and the sculpt space, I will be limited in terms of having things like topology adjustments on the retopo mesh being reflected on the sculpt mesh.

@AbnRanger I don't mean any disrespect, but I've noticed over the years, you've consistently touted the alternate methods 3D Coat has for sculpting and dealing with high poly/low polygon stepping during sculpting whenever this particular request is made.  However, I've outlined this issues as I see them and I think it does a disservice to the development of the application to stand in opposition to requests for workflow improvements that would be so beneficial to so many.  We all love 3D Coat here and we all respect the hard work and innovation from the dev team.  So I am sensitive in terms of feature and workflow requests.  However, for the furthering of the app, I think it would be helpful if you got behind these kinds of requests for progress, especially when it's been made consistently by so many for so long.  Hopefully I've outlined why it would be beneficial.

  • Like 3
Link to comment
Share on other sites

  • Member

in the first video you can see the lumpy surface you get when subdividing a low poly mesh, that makes sculpting cleanly an issue, you can also see the random distortions in the "conformed" low poly when smoothing, and the fact that you can't control where the low poly goes when you're working on the high poly. Last part of the video you can see the absolute mess you end up with when using the decimate and reduce functions to get something "low res" to work on, and you can also see that even at 64x decimation the result is both less detailed and higher resolution than the proper low poly mesh (this is also why it's completely pointless trying to bring in a pre-subdivided mesh from another program).

In the second video you once again see how the auto-triangulation makes an unusable mess of your high poly when subdivided, and shows how if you don't want a distracting and obstructive hologram of your low poly on top of your work the low poly no longer conforms, so you're stuck working with the UV shells and wireframe obstructing your view.

 

Third video is just a comparison with zbrush, it's faster to start working since you can just import and get working rather than import your low poly as a retopo mesh, move into the sculpt room, copy your retopo mesh into the sculpt room, then start to work. It also shows how using a proper multires system allows for the export of displacement and normal maps from those subdivision levels.

 

Using 3d coat you have 2 otpions for "multires" sculpting and 0 options for effective multires sculpting:

1) you can import your low poly as a retopo mesh, go to sculpt room, copy your retopo mesh into the sculpt room, start working with a horrible mess caused by the decimation that doesn't even get you close to the detail preservation or resolution that you get from an actual low poly.

2) subdivide your low poly in blender, export, import your low poly to 3d coat as a retopo mesh, go to sculpt room and import your high poly as a sculpt mesh, start working with a horrible mess caused by the decimation that doesn't even get you close to the detail preservation or resolution that you get from an actual low poly.

 

using blender or zbrush you have 1 option for effective multires sculpting:

blender: import your low poly, add multires modifier, sculpt, generate normal and displacement maps from your subdivsion levels.

zbrush: import your low poly, sculpt, generate normal and displacement maps from subdivision levels.

 

@AbnRangerhopefully this makes it clear as to why we need proper subdivision levels and quad meshes rather than a hacky workaround.

  • Like 1
  • Thanks 2
Link to comment
Share on other sites

  • 2 weeks later...
  • Reputable Contributor
On 8/27/2022 at 6:28 AM, Tieguaili3D said:

in the first video you can see the lumpy surface you get when subdividing a low poly mesh, that makes sculpting cleanly an issue, you can also see the random distortions in the "conformed" low poly when smoothing, and the fact that you can't control where the low poly goes when you're working on the high poly. Last part of the video you can see the absolute mess you end up with when using the decimate and reduce functions to get something "low res" to work on, and you can also see that even at 64x decimation the result is both less detailed and higher resolution than the proper low poly mesh (this is also why it's completely pointless trying to bring in a pre-subdivided mesh from another program).

In the second video you once again see how the auto-triangulation makes an unusable mess of your high poly when subdivided, and shows how if you don't want a distracting and obstructive hologram of your low poly on top of your work the low poly no longer conforms, so you're stuck working with the UV shells and wireframe obstructing your view.

 

Third video is just a comparison with zbrush, it's faster to start working since you can just import and get working rather than import your low poly as a retopo mesh, move into the sculpt room, copy your retopo mesh into the sculpt room, then start to work. It also shows how using a proper multires system allows for the export of displacement and normal maps from those subdivision levels.

 

Using 3d coat you have 2 otpions for "multires" sculpting and 0 options for effective multires sculpting:

1) you can import your low poly as a retopo mesh, go to sculpt room, copy your retopo mesh into the sculpt room, start working with a horrible mess caused by the decimation that doesn't even get you close to the detail preservation or resolution that you get from an actual low poly.

2) subdivide your low poly in blender, export, import your low poly to 3d coat as a retopo mesh, go to sculpt room and import your high poly as a sculpt mesh, start working with a horrible mess caused by the decimation that doesn't even get you close to the detail preservation or resolution that you get from an actual low poly.

 

using blender or zbrush you have 1 option for effective multires sculpting:

blender: import your low poly, add multires modifier, sculpt, generate normal and displacement maps from your subdivsion levels.

zbrush: import your low poly, sculpt, generate normal and displacement maps from subdivision levels.

 

@AbnRangerhopefully this makes it clear as to why we need proper subdivision levels and quad meshes rather than a hacky workaround.

Sorry for the delay in answering...was on vacation. Here is my reply to the issues you have with how 3DCoat handles things, currently...

1) When you send a copy of the Retopo Mesh to the Sculpt room, you have better options than what you tried in the videos. I think that is the source of your frustration. You could (in the Sculpt Room) try the IMPORT tool in the OBJECTS section of the Tool Panel. Click the PICK FROM RETOPO button > click SUBDIVIDE button as many times as is needed to get a decent base level of resolution for sculpting. Once you commit the object to a Sculpt Tree layer (hitting the ENTER key or APPLY button), you can either try to start sculpting from the mesh, like it is (it will have the same topology as the Retopo mesh, but with triangles). This may not always give good results, when trying to sculpt in 3DCoat. So, the best thing to do would perhaps be to hit the ENTER key, straight away (assuming the layer is in Surface mode. This is the equivalent to using Dynamesh in ZBrush. It creates a very evenly spaced polygonal mesh, which usually works best in most sculpting situations, in 3DCoat....at least until you are working in the advanced/detail stages.

2) You do not need to work from a "Horrible Decimated Base Mesh"...ever. This is not a good example to use. There is never a need to decimate the model as low as you have it, in order to perform such operations as using the POSE, TRANSFORM or MOVE tool.

3) In your 2nd video, you hid the Retopo Mesh, and therefore it did not conform it to the Sculpt mesh. This is not a problem with the Software. This is not having a full understanding of the toolset, or a simple mistake (forgot to unhide the "Polygroups/Retopo mesh"?).

 

Link to comment
Share on other sites

  • Reputable Contributor
On 8/27/2022 at 6:28 AM, Tieguaili3D said:

in the first video you can see the lumpy surface you get when subdividing a low poly mesh, that makes sculpting cleanly an issue, you can also see the random distortions in the "conformed" low poly when smoothing, and the fact that you can't control where the low poly goes when you're working on the high poly. Last part of the video you can see the absolute mess you end up with when using the decimate and reduce functions to get something "low res" to work on, and you can also see that even at 64x decimation the result is both less detailed and higher resolution than the proper low poly mesh (this is also why it's completely pointless trying to bring in a pre-subdivided mesh from another program).

In the second video you once again see how the auto-triangulation makes an unusable mess of your high poly when subdivided, and shows how if you don't want a distracting and obstructive hologram of your low poly on top of your work the low poly no longer conforms, so you're stuck working with the UV shells and wireframe obstructing your view.

 

Third video is just a comparison with zbrush, it's faster to start working since you can just import and get working rather than import your low poly as a retopo mesh, move into the sculpt room, copy your retopo mesh into the sculpt room, then start to work. It also shows how using a proper multires system allows for the export of displacement and normal maps from those subdivision levels.

 

Using 3d coat you have 2 otpions for "multires" sculpting and 0 options for effective multires sculpting:

1) you can import your low poly as a retopo mesh, go to sculpt room, copy your retopo mesh into the sculpt room, start working with a horrible mess caused by the decimation that doesn't even get you close to the detail preservation or resolution that you get from an actual low poly.

2) subdivide your low poly in blender, export, import your low poly to 3d coat as a retopo mesh, go to sculpt room and import your high poly as a sculpt mesh, start working with a horrible mess caused by the decimation that doesn't even get you close to the detail preservation or resolution that you get from an actual low poly.

 

using blender or zbrush you have 1 option for effective multires sculpting:

blender: import your low poly, add multires modifier, sculpt, generate normal and displacement maps from your subdivsion levels.

zbrush: import your low poly, sculpt, generate normal and displacement maps from subdivision levels.

 

@AbnRangerhopefully this makes it clear as to why we need proper subdivision levels and quad meshes rather than a hacky workaround.

An additional note that is worth remembering is, you virtually NEVER need to decimate or reduce your model to such extremes. 3DCoat can easily handle the task you were doing (tweaking proportions with the MOVE tool) without needing to step down to a lower resolution level...unless you are working on a super dense mesh of 20 million polygons or more. Even then, you only need to step down one or two levels...not 8 or 10. Those extreme levels of reduction and decimation are generally for saving the maximum amount of memory and GPU usage. It's helpful when you are building a big scene, and want to use proxies to populate the scene while being light on the system as you work. I will record something soon to show what I mean.

Link to comment
Share on other sites

  • Reputable Contributor
On 8/25/2022 at 4:26 PM, gbball said:

 

@Andrew Shpagin I think the biggest difference is that in Zbrush or Blender, is that once you have a finished sculpt, whether you used Dynamesh or Scuptris or something, you can still keep sculpting afterwards.  So the Dynamesh/Scuptris is for the blockout...then once you have your finalized quad mesh, you can step up or down on the quad mesh to add more details and at that point, the linkage between the low poly mesh and the high poly mesh works both ways, where changes to the high poly mesh affect the low poly one, and vice versa.  I know 3D Coat has it's own way of handling this with cached geometry and decimation, which is fine...but that doesn't change the fact that voxel and surface sculpts are still more geared towards blockouts/preliminary sculpts as opposed to finalized sculpts and meshes as I'll outline below.

In 3D Coat the blocking out stage in voxels and surface sculpts is very good.  But once you retopo or autotopo, it becomes cumbersome to make sculpt-like wholesale changes to the mesh because you're using the modeling or retopo room tools...further, there is only a one way linkage between the high poly sculpt and the optimized retopo mesh and it works from Sculpt -> Retopo mesh.  In my opinion, being able to control high poly sculpts with low poly geometry is more valuable...and if you think about it, the main selling point of a sculpting application...being able to move millions of polygons with a brush stroke or using a move tool.  Wouldn't it be incredibly useful to manipulate a sculpt mesh by moving a single low poly face, edge or vertex?  Or even better dictating an edge loop and extrusion to create a ridge where you want it?  This workflow doesn't currently exist because changes I make to a retopo mesh have zero bearing on what happens to the sculpt.

One solution would be 3 types of sculpt meshes in the sculpt room.  1. Voxels - 2. Surface - 3. Quad/Ngon with non-destructive subdivision stepping for detail sculpting after retopology.

Moving from a Voxel or Sculpt mesh to a Quad/Ngon mesh would trigger an autotopo command and moving from a Quad/Ngon mesh to voxel/surface mode would either be a destructive step or it would cache the Quad/Ngon mesh and run the conform to retopo 

For early blockouts Voxels, Surface sculpts, Dynamesh, Sculptris are all great options...but when you want to finalize something and eventually bake, having a clean retopoed mesh where you can dictate the edgeflow is more ideal.

3 shortcomings with Surface sculpting when finalizing a sculpt.  

1. Not always able to work on a uniform mesh since it works best when dynamic remeshing is enabled.  As a result some areas of the mesh are low poly and trianagulated, while others are highly detailed.  Getting the whole mesh to be the same density is a destructive step that requires going back to Voxels and returning to surface mode...  Doing this will inevitably erode any small details you might have had, or worse merge together overlapping geometry.  It's the equivalent of Dynameshing in Zbrush...good for a block out, but not optimal for the final stages of a sculpt as compared to a subdiv sculpt where topology conformity is moreso forced and automatic when you add subdivisions. 

2. Baking becomes problematic when you have self intersecting geometry - Baking from a high poly subdivision level to it's base level would solve this...it would also provide perfect displacement maps, which has also been cited as an issue by some before.

3. Bringing an existing mesh into this space is a destructive step, where vertex order, UV information, and topology are lost.

So while I can bring my mesh into both the retopo space and the sculpt space, I will be limited in terms of having things like topology adjustments on the retopo mesh being reflected on the sculpt mesh.

@AbnRanger I don't mean any disrespect, but I've noticed over the years, you've consistently touted the alternate methods 3D Coat has for sculpting and dealing with high poly/low polygon stepping during sculpting whenever this particular request is made.  However, I've outlined this issues as I see them and I think it does a disservice to the development of the application to stand in opposition to requests for workflow improvements that would be so beneficial to so many.  We all love 3D Coat here and we all respect the hard work and innovation from the dev team.  So I am sensitive in terms of feature and workflow requests.  However, for the furthering of the app, I think it would be helpful if you got behind these kinds of requests for progress, especially when it's been made consistently by so many for so long.  Hopefully I've outlined why it would be beneficial.

We can have differing opinions about the application without being offended. I certainly respect yours, Anton's and others, but I also still think 3DCoat's approach doesn't quite get the credit it deserves. It solves some of the problems Zbrush still has. I am personally concerned that it could overcomplicate things by adding yet a third type of sculpting mesh and expect all 3 to work together well. But, I am open to changes if they can help.

"In 3D Coat the blocking out stage in voxels and surface sculpts is very good.  But once you retopo or autotopo, it becomes cumbersome to make sculpt-like wholesale changes to the mesh because you're using the modeling or retopo room tools...further, there is only a one way linkage between the high poly sculpt and the optimized retopo mesh and it works from Sculpt -> Retopo mesh.  In my opinion, being able to control high poly sculpts with low poly geometry is more valuable...and if you think about it, the main selling point of a sculpting application...being able to move millions of polygons with a brush stroke or using a move tool.  Wouldn't it be incredibly useful to manipulate a sculpt mesh by moving a single low poly face, edge or vertex?  Or even better dictating an edge loop and extrusion to create a ridge where you want it?  This workflow doesn't currently exist because changes I make to a retopo mesh have zero bearing on what happens to the sculpt."

3DCoat already has the ability to modify the Retopo/Modeling mesh and have the changes reflected in the Sculpt mesh, on the fly. It's called "Live Smooth." It's sort of like CONFORM RETOPO MESH, but in reverse. Currently, I don't think there is a way to link Live Smooth with an already existing Sculpt object (only one that gets created), but surely that can be enabled by Alexander. I would like to see Andrew bring the Soft Selection tools from the old TWEAK room, into the RETOPO/MODELING rooms, because that is a MUST HAVE for any serious poly-modeling toolset. Once that is done, He could conceivably add the ability to conform in either direction + add SubD levels to the Retopo/Model and enable Sculpting tools to work with them, much the same way the Surface brushes work in Voxel mode.

  • Like 1
Link to comment
Share on other sites

  • Advanced Member
13 hours ago, AbnRanger said:

We can have differing opinions about the application without being offended. I certainly respect yours, Anton's and others, but I also still think 3DCoat's approach doesn't quite get the credit it deserves. It solves some of the problems Zbrush still has. I am personally concerned that it could overcomplicate things by adding yet a third type of sculpting mesh and expect all 3 to work together well. But, I am open to changes if they can help.

"In 3D Coat the blocking out stage in voxels and surface sculpts is very good.  But once you retopo or autotopo, it becomes cumbersome to make sculpt-like wholesale changes to the mesh because you're using the modeling or retopo room tools...further, there is only a one way linkage between the high poly sculpt and the optimized retopo mesh and it works from Sculpt -> Retopo mesh.  In my opinion, being able to control high poly sculpts with low poly geometry is more valuable...and if you think about it, the main selling point of a sculpting application...being able to move millions of polygons with a brush stroke or using a move tool.  Wouldn't it be incredibly useful to manipulate a sculpt mesh by moving a single low poly face, edge or vertex?  Or even better dictating an edge loop and extrusion to create a ridge where you want it?  This workflow doesn't currently exist because changes I make to a retopo mesh have zero bearing on what happens to the sculpt."

3DCoat already has the ability to modify the Retopo/Modeling mesh and have the changes reflected in the Sculpt mesh, on the fly. It's called "Live Smooth." It's sort of like CONFORM RETOPO MESH, but in reverse. Currently, I don't think there is a way to link Live Smooth with an already existing Sculpt object (only one that gets created), but surely that can be enabled by Alexander. I would like to see Andrew bring the Soft Selection tools from the old TWEAK room, into the RETOPO/MODELING rooms, because that is a MUST HAVE for any serious poly-modeling toolset. Once that is done, He could conceivably add the ability to conform in either direction + add SubD levels to the Retopo/Model and enable Sculpting tools to work with them, much the same way the Surface brushes work in Voxel mode.

Yes, I agree, I know you've suggesting rolling the tweak options into the modeling/retopo space.  From my understanding it is on the TODO list and it is definitely needed.  I think in some ways the thing we're looking for is tantalizingly close, but being danced around in some ways.  I also think that 3D Coat is uniquely positioned to be able to do something better than regular subdivision sculpting.  Some of the work being done with curves is moving in this direction...Like we could conceivably see a polygon style context for curves manipulation where they can be extruded in realtime to make more curves and to create a real-time voxel sculpt representation. 

Polygon Basemesh <-> Curves <-> Ngon or Quadbased Microvertex paint/sculpt (would need true 3 dimensional vector displacement and solid sculpting tools)

In some ways Microvertex painting has a lot of unrealized sculpting potential and could serve as the bridge that many are looking for.  It seems like 3D Coat is reaching a point where texture and sculpt details can be meshtype independent.

Truthfully, even Zbrush isn't using true catmull-clarke subdivision sculpting, they have their own unique algorithm.

I wonder if there is a way now to step up and down through subdivision levels on a Microvertex sculpt since it basically turns the polygons into patches that can be subdivided.  Is there a way to store/cache texture data volumetrically in a non-destructive process and bake to UV mesh when necessary...or if some kind of Microvertex/Subdiv mesh fusion could be implemented that uses vector displacement for sculpting/painting?

@AndrewShpagin Does what I'm proposing make sense?  How big of an undertaking would it be?

Edited by gbball
  • Thanks 1
Link to comment
Share on other sites

  • Member
On 9/4/2022 at 10:11 PM, AbnRanger said:

Sorry for the delay in answering...was on vacation. Here is my reply to the issues you have with how 3DCoat handles things, currently...

1) When you send a copy of the Retopo Mesh to the Sculpt room, you have better options than what you tried in the videos. I think that is the source of your frustration. You could (in the Sculpt Room) try the IMPORT tool in the OBJECTS section of the Tool Panel. Click the PICK FROM RETOPO button > click SUBDIVIDE button as many times as is needed to get a decent base level of resolution for sculpting. Once you commit the object to a Sculpt Tree layer (hitting the ENTER key or APPLY button), you can either try to start sculpting from the mesh, like it is (it will have the same topology as the Retopo mesh, but with triangles). This may not always give good results, when trying to sculpt in 3DCoat. So, the best thing to do would perhaps be to hit the ENTER key, straight away (assuming the layer is in Surface mode. This is the equivalent to using Dynamesh in ZBrush. It creates a very evenly spaced polygonal mesh, which usually works best in most sculpting situations, in 3DCoat....at least until you are working in the advanced/detail stages.

2) You do not need to work from a "Horrible Decimated Base Mesh"...ever. This is not a good example to use. There is never a need to decimate the model as low as you have it, in order to perform such operations as using the POSE, TRANSFORM or MOVE tool.

3) In your 2nd video, you hid the Retopo Mesh, and therefore it did not conform it to the Sculpt mesh. This is not a problem with the Software. This is not having a full understanding of the toolset, or a simple mistake (forgot to unhide the "Polygroups/Retopo mesh"?).

 

well you missed every point i made by a country mile.

to your point 2: you do need to reduce that far if you want to maintain a nice clean surface without spending extra time cleaning it manually, and as you saw to not even get close to as low as a subdivision-ready basemesh on the larger areas you completely destroy everything else.

as for point 3: of course i hid it, i don't want that overlay getting in the way of my sculpting, the whole point of hiding it was to get rid of the distracting and obstructive overlay, how else are you meant to remove it?

On 9/5/2022 at 11:25 AM, AbnRanger said:

An additional note that is worth remembering is, you virtually NEVER need to decimate or reduce your model to such extremes. 3DCoat can easily handle the task you were doing (tweaking proportions with the MOVE tool) without needing to step down to a lower resolution level...unless you are working on a super dense mesh of 20 million polygons or more. Even then, you only need to step down one or two levels...not 8 or 10. Those extreme levels of reduction and decimation are generally for saving the maximum amount of memory and GPU usage. It's helpful when you are building a big scene, and want to use proxies to populate the scene while being light on the system as you work. I will record something soon to show what I mean.

 

On 9/6/2022 at 12:12 PM, AbnRanger said:

We can have differing opinions about the application without being offended. I certainly respect yours, Anton's and others, but I also still think 3DCoat's approach doesn't quite get the credit it deserves. It solves some of the problems Zbrush still has. I am personally concerned that it could overcomplicate things by adding yet a third type of sculpting mesh and expect all 3 to work together well. But, I am open to changes if they can help.

"In 3D Coat the blocking out stage in voxels and surface sculpts is very good.  But once you retopo or autotopo, it becomes cumbersome to make sculpt-like wholesale changes to the mesh because you're using the modeling or retopo room tools...further, there is only a one way linkage between the high poly sculpt and the optimized retopo mesh and it works from Sculpt -> Retopo mesh.  In my opinion, being able to control high poly sculpts with low poly geometry is more valuable...and if you think about it, the main selling point of a sculpting application...being able to move millions of polygons with a brush stroke or using a move tool.  Wouldn't it be incredibly useful to manipulate a sculpt mesh by moving a single low poly face, edge or vertex?  Or even better dictating an edge loop and extrusion to create a ridge where you want it?  This workflow doesn't currently exist because changes I make to a retopo mesh have zero bearing on what happens to the sculpt."

3DCoat already has the ability to modify the Retopo/Modeling mesh and have the changes reflected in the Sculpt mesh, on the fly. It's called "Live Smooth." It's sort of like CONFORM RETOPO MESH, but in reverse. Currently, I don't think there is a way to link Live Smooth with an already existing Sculpt object (only one that gets created), but surely that can be enabled by Alexander. I would like to see Andrew bring the Soft Selection tools from the old TWEAK room, into the RETOPO/MODELING rooms, because that is a MUST HAVE for any serious poly-modeling toolset. Once that is done, He could conceivably add the ability to conform in either direction + add SubD levels to the Retopo/Model and enable Sculpting tools to work with them, much the same way the Surface brushes work in Voxel mode.

the conform doesn't even conform properly anyway, why would you want to extend the reach of a function that doesn't even operate properly? and why on earth would we yet another type of arbitrarily separated mesh? i don't even know why we have paint, retopo, and sculpt meshes separated for absolutely no good reason since the only thing that limits what tools you're allowed to use on an object is what category you import it under, and before you say "well if you try to use a high poly mesh in the sculpt room you'll crash" it'd be easy enough to just have a warning popup like every other program does when you're trying to do something taxing, and like 3d coat already does when you're about to do something taxing elsewhere. This ridiculous decimation workflow doesn't solve a single issue that zbrush has, in zbrush if you don't want to use subdivisions you can just use dynamesh, you can freely, quickly, and fluidly switch between dynamesh, scutlpris, and subdivisions at any point, but i'm gonna leave that alone cause otherwise i'm gonna derail going into the other massive issue 3d coat has.

Link to comment
Share on other sites

  • Reputable Contributor
13 hours ago, Tieguaili3D said:

well you missed every point i made by a country mile.

to your point 2: you do need to reduce that far if you want to maintain a nice clean surface without spending extra time cleaning it manually, and as you saw to not even get close to as low as a subdivision-ready basemesh on the larger areas you completely destroy everything else.

as for point 3: of course i hid it, i don't want that overlay getting in the way of my sculpting, the whole point of hiding it was to get rid of the distracting and obstructive overlay, how else are you meant to remove it?

 

the conform doesn't even conform properly anyway, why would you want to extend the reach of a function that doesn't even operate properly? and why on earth would we yet another type of arbitrarily separated mesh? i don't even know why we have paint, retopo, and sculpt meshes separated for absolutely no good reason since the only thing that limits what tools you're allowed to use on an object is what category you import it under, and before you say "well if you try to use a high poly mesh in the sculpt room you'll crash" it'd be easy enough to just have a warning popup like every other program does when you're trying to do something taxing, and like 3d coat already does when you're about to do something taxing elsewhere. This ridiculous decimation workflow doesn't solve a single issue that zbrush has, in zbrush if you don't want to use subdivisions you can just use dynamesh, you can freely, quickly, and fluidly switch between dynamesh, scutlpris, and subdivisions at any point, but i'm gonna leave that alone cause otherwise i'm gonna derail going into the other massive issue 3d coat has.

No, you do not need to reduce the proxy mesh that low. And no, it will not "destroy everything else" if you step down in resolution just one or two levels. I have been using 3DCoat since it's earliest days. I know how these things work. You absolutely do not need to reduce the Proxy resolution that much unless you simply want to leave the object visible in the scene. The resolution does NOT have to match the poly count of the original low poly base mesh. Perhaps that is what you were used to in another app, but that is not necessary in 3DCoat.

3DCoat's Multi-Res workflow most certainly does solve problems ZBrush has. For one thing, if you try to use Dynamesh or Sculptris Pro with SubD levels and/or Sculpt layers, you lose them. Period. In 3DCoat, you NEVER, EVER have to worry about losing SubD levels, because this approach will take your model however it is, at any point in time, and allow you to step down to a lower resolution level to work, yet without having to lose any detail (3DCOAT keeps the small details from the original Sculpt Tree layer, when the user uncaches/restores it). It's simply a different approach to the same task, and it has absolutely has it's own unique benefits. 

The other problem it solves is booleans. 3DCoat will allow the user to work with Sculpt Layers and keep them intact, if they should decide at some point to perform a boolean operation (maybe adding some horns or scales, from the SCULPT MODELS or SPLINES pallet, as an example). This is simply not possible in ZBrush.

Creating some sculpt layers or morphs in ZBrush and you suddenly decide you want to dynamically add some resolution (via Sculptris Pro) in a certain area, like the face region for example? You can't. Not without breaking/losing your Sculpt Layers and SubD levels. As I said, 3DCoat solves issues like this, and it will even create a new Sculpt Layer for the user, containing the edits made to the proxy, when they uncache the Sculpt Tree layer.

 

As for hiding the Retopo Mesh, when using CONFORM RETOPO....it won't work if you hide it. This is not a bug. It's visible so the user can see both being transformed simultaneously. You may not prefer this approach, but that doesn't make it inferior to ZBrush's way of handling things. I just personally think 3DCoat's solution is more convenient (I was the one who requested of Andrew to add the CONFORM RETOPO feature)...because you can literally bring in a low poly base mesh (with the intention of baking all the details onto it, after all the sculpting work is done), with UV's already done, and never have to worry about losing it, even after working with remeshing tools like Dynamesh and/or Sculptris Pro. The edits you showed in ZBrush, you can easily do on the same model in 3DCoat, even if it has 10 million polys...without breaking a sweat. Just try it. Try making the same edits without a lower res proxy and try it with a proxy reduced/decimated just one level. You might be surprised how well it works.

Link to comment
Share on other sites

  • Member
2 hours ago, AbnRanger said:

No, you do not need to reduce the proxy mesh that low. And no, it will not "destroy everything else" if you step down in resolution just one or two levels. I have been using 3DCoat since it's earliest days. I know how these things work. You absolutely do not need to reduce the Proxy resolution that much unless you simply want to leave the object visible in the scene. The resolution does NOT have to match the poly count of the original low poly base mesh. Perhaps that is what you were used to in another app, but that is not necessary in 3DCoat.

3DCoat's Multi-Res workflow most certainly does solve problems ZBrush has. For one thing, if you try to use Dynamesh or Sculptris Pro with SubD levels and/or Sculpt layers, you lose them. Period. In 3DCoat, you NEVER, EVER have to worry about losing SubD levels, because this approach will take your model however it is, at any point in time, and allow you to step down to a lower resolution level to work, yet without having to lose any detail (3DCOAT keeps the small details from the original Sculpt Tree layer, when the user uncaches/restores it). It's simply a different approach to the same task, and it has absolutely has it's own unique benefits. 

The other problem it solves is booleans. 3DCoat will allow the user to work with Sculpt Layers and keep them intact, if they should decide at some point to perform a boolean operation (maybe adding some horns or scales, from the SCULPT MODELS or SPLINES pallet, as an example). This is simply not possible in ZBrush.

Creating some sculpt layers or morphs in ZBrush and you suddenly decide you want to dynamically add some resolution (via Sculptris Pro) in a certain area, like the face region for example? You can't. Not without breaking/losing your Sculpt Layers and SubD levels. As I said, 3DCoat solves issues like this, and it will even create a new Sculpt Layer for the user, containing the edits made to the proxy, when they uncache the Sculpt Tree layer.

 

As for hiding the Retopo Mesh, when using CONFORM RETOPO....it won't work if you hide it. This is not a bug. It's visible so the user can see both being transformed simultaneously. You may not prefer this approach, but that doesn't make it inferior to ZBrush's way of handling things. I just personally think 3DCoat's solution is more convenient (I was the one who requested of Andrew to add the CONFORM RETOPO feature)...because you can literally bring in a low poly base mesh (with the intention of baking all the details onto it, after all the sculpting work is done), with UV's already done, and never have to worry about losing it, even after working with remeshing tools like Dynamesh and/or Sculptris Pro. The edits you showed in ZBrush, you can easily do on the same model in 3DCoat, even if it has 10 million polys...without breaking a sweat. Just try it. Try making the same edits without a lower res proxy and try it with a proxy reduced/decimated just one level. You might be surprised how well it works.

so you enjoy not being able to see what you're doing when you have "conform retopo mesh" active? all you can see is the stupid overlay, try doing any kind of detailed work with that thing active. as for "you never need to use a low poly mesh to make large changes" yes you do, try making a nice smooth proportional edit to a character mesh with any tool, try making those kinds of edits without killing any details you have at higher levels, don't lean on videos with a mesh barely out of the blockout stage that does nothing other than twiddle the thumbs, you also haven't addressed the fact that smoothing, moving, and otherwise making large edits to your model royally fucks up the topology of your retopo mesh with conform active, making conforming your model pointless in the first place. You also completely miss the point of multires sculpting, no one is gonna boolean a new arm onto their character while they're detailing it, that's what you do in the blockout not when you're refining and detailing, the whole point of using a basemesh and multires is to skip the blockout, you already know you're making a human so you bring in your human basemesh to work on it so "oh i can boolean my basemesh and not lose my layers" is a pointless argument, ifyou're into the multires stage you're past the point of needing to boolean and your retopo model isn't gonna conform to that boolean anyway, so again completely pointless.

Link to comment
Share on other sites

  • Reputable Contributor
On 9/8/2022 at 3:55 PM, Tieguaili3D said:

so you enjoy not being able to see what you're doing when you have "conform retopo mesh" active? all you can see is the badword overlay, try doing any kind of detailed work with that thing active. as for "you never need to use a low poly mesh to make large changes" yes you do, try making a nice smooth proportional edit to a character mesh with any tool, try making those kinds of edits without killing any details you have at higher levels, don't lean on videos with a mesh barely out of the blockout stage that does nothing other than twiddle the thumbs, you also haven't addressed the fact that smoothing, moving, and otherwise making large edits to your model royally fucks up the topology of your retopo mesh with conform active, making conforming your model pointless in the first place. You also completely miss the point of multires sculpting, no one is gonna boolean a new arm onto their character while they're detailing it, that's what you do in the blockout not when you're refining and detailing, the whole point of using a basemesh and multires is to skip the blockout, you already know you're making a human so you bring in your human basemesh to work on it so "oh i can boolean my basemesh and not lose my layers" is a pointless argument, ifyou're into the multires stage you're past the point of needing to boolean and your retopo model isn't gonna conform to that boolean anyway, so again completely pointless.

There is no reason to argue, here. I am not a newby. I know what 3DCoat can and cannot do, as I have been using it for about 15yrs. I am simply explaining how CONFORM RETOPO works. If you want to have the Retopo Mesh hidden, you can send a request to support@pilgway.com to request an option for the user to hide it, but currently it is shown because some user requested it to be that way. There is no need to take offense. I am simply telling you how it works.

After some testing, it doesn't seem to work as well as it once did, and there are certainly a few things Andrew needs to take a look at. As I was saying with GBBall, there already is some crude TurboSmooth functionality in the Retopo/Modeling workspace, called LIVESMOOTH. It's in the MESH menu, and it will make the edits to the Retopo mesh reflect in the Sculpt workspace...a reverse effect of CONFORM RETOPO, effectively. Maybe Andrew can use that as a basis for Subdivision level  quad sculpting, because I can now see that it could be beneficial, if it works well.

Conform Retopo needs some work, because just simple sculpting brush edits make the Retopo mesh noisey. It should not behave this way. The way Conform Retopo works is that 3DCoat waits for the user to release pressure from their stylus and then it tries to snap the retopo mesh. I think that needs to change. It needs to be simultaneous, so there is no pause at the end of a stroke or edit. 3DCoat can make large edits with the Move tool, easily, on a Model with 10 mill polys or less, but the performance lag is that secondary calculation (snapping the Retopo mesh to the Sculpt mesh). I will ask Andrew to look into this thread and see what he can do.

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

3DCoat-2022-49 
Thu Oct 27 00:03:08 2022

- Multiresolution sculpting introduced. It works with layers, displacement and PBR. Press Space and look at the bottom line or use Windows->Popups->Multiresolution.

- Multiresolution sculpting supports adding the lower level of the multiresolution via decimation.

- Very fast (5x at least) subdivision (res+) for the surface mode. It is possible to subdivide even to 100-200M (but better to avoid this).

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
  • Advanced Member

I figured I'd take @AbnRanger's word and try to adjust to the 'Conform Retopo Mesh' workflow.

So I made a random shape, auto retopo'd it, and went to town (in as much as I could, because uh... many tools don't actually support Conform?)

 

 

Here are the results, presented without any further comment. They speak for themselves.

Link to comment
Share on other sites

  • Reputable Contributor
18 hours ago, Mighty Pea said:

I figured I'd take @AbnRanger's word and try to adjust to the 'Conform Retopo Mesh' workflow.

So I made a random shape, auto retopo'd it, and went to town (in as much as I could, because uh... many tools don't actually support Conform?)

 

 

Here are the results, presented without any further comment. They speak for themselves.

Did you get a chance to watch this video? The objective when using it (CONFORM RETOPO MESH), is not to see if or how quickly you can break it, but to use it properly, as it was designed. You know ahead of time that 3DCoat has to perform a secondary calculation, at the end of each brush stroke (snapping of the Retopo mesh to the High Poly Sculpt Mesh). Let's not forget that ZBrush's Subdivision workflow, as well as its Sculpt Layers, has its limits, too. I can make a similar video, trying to quickly break it also, but what would that prove? Some ZB tools will not work with it's Subdivision levels either. Dynamesh and Sculptris Pro are 2 of them.

 

The fact that the Retopo Mesh is kept separate (ready for baking) is NOT a problem. It's actually a BIG asset, because that means you can use whatever tools you need to in the Sculpt Room without worrying. Conform Retopo mesh is not a Silver Bullet or Magic Pill, but in my opinion it provides much more flexibility for the artist and assurance that they can use their original low poly UV mapped mesh in the end (for a baking target) and have it conformed to virtually all sculpting edits made...regardless of whether I switch to Voxel mode, or sculpt with dynamic subdivision. You can absolutely forget about trying to do that with ZBrush's Quad-based Subdivision levels workflow.

 

 

Link to comment
Share on other sites

  • Advanced Member

'Trying to break it' is a funny way of saying 'doing some extremely common sculpting'.

I get it, you chose this hill to die on. You think it's great as it is, and I'm happy for you.

Personally, I'll continue to dip my toes into 3dcoat sculpting every few years, find significant issues with the workflow and probably decide to stick with other tools.

Link to comment
Share on other sites

  • Reputable Contributor
21 minutes ago, Mighty Pea said:

'Trying to break it' is a funny way of saying 'doing some extremely common sculpting'.

I get it, you chose this hill to die on. You think it's great as it is, and I'm happy for you.

Personally, I'll continue to dip my toes into 3dcoat sculpting every few years, find significant issues with the workflow and probably decide to stick with other tools.

I am simply saying the example you showed was clearly an effort to push the feature beyond its (reasonable) limits, as if that indicates it doesn't work properly. It does work properly, if artists will try to use it correctly. Trying to use uber rapid and thick strokes is not using it correctly and that was discussed in the Tutorial for the feature. Did you watch it? For a long time CONFORM RETOPO MESH was only for a few large scale editing tools like POSE, TRANSFORM and MOVE. Then, many users requested it for Sculpting Brushes, and he tried to accommodate. For your particular example, you could easily make these same thick and very rapid strokes > use Retopo Relax to snap the Retopo mesh to the High Poly sculpt later with very little effort.

The bottom line is this...the Sculpt Room uses a different sculpting platform than other sculpting applications, so insisting that it work the same exact way other applications work, makes no sense. Quad Mesh sculpting with SubD levels in 3DCoat will create the same kind of problems you have in ZBrush. It is not the Holy Grail of Sculpting. It has its own problems and limitations. What 3DCoat uses to perform the same task actually works quite well. That is not a "hill to die on." That is my experience, and I am the one who requested CONFORM RETOPO MESH from Andrew, so I know it is indeed very useful.

Link to comment
Share on other sites

  • Advanced Member

i personally think adding multires was a terrible move..

i use 3d coat for concept work , so ill throw together a quick example and sculpt it properly in zbrush ..

the reason i cant do proper work is because 3dcoat is constantly destroying its topology , having tris when you subd or "res+" the triangles make dense areas , becoming little nipples over the mesh ...

until quad based workflow is added is hard to do anything polished

tris are no good for sculpting

calculation time for quad based multires is much faster and doesnt destroy them mesh ...

doing anything in a lower res in multires and then going to top layer just destroys the whole topology
 

hopefully surface mode has quads soon and voxels stay tris ..

  • Like 1
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...