Home Technical Talk

3ds Max/Zbrush: Proboolean + Dynamesh hardsurface workflow tutorial

12346

Replies

  • kanga
    Offline / Send Message
    kanga quad damage
    antonyj said:
    Just tried something mega quick with this process. Even simple things like the pic below took around 10 mins (after crashes etc.) which is wayyyyyy quicker than modeling this in the traditional way. Needless to say, I am absolutely loving it and will be utilising this A LOT in up coming projects. 

    Thank you so much for this.

    Yup. This method is da bomb!
  • Amiminoru
  • Br0ken
    Offline / Send Message
    Br0ken polycounter lvl 3
    Amiminoru said:
    Maya HardMesh 
    Looks awesome! I hope that Hard Mesh devs will release a 3ds Max version next year.
  • cabooes
    Offline / Send Message
    cabooes vertex
    Whats a good workflow to make the high poly meshes into lowpoly and good enough to the extent where you can UV them with some control?

    Edit: Starting out with modeling in zbrush and decimating it to the extent where you can uv it in  Maya. 
  • Bumblebee
    Offline / Send Message
    Bumblebee polycounter lvl 3
    hey, so i have been playing around with this again. Im trying to convert some of my old lowpolys into highpolys but the edges are always way too sharp. Is there a way I can work around that? My lowpoly versions dont have a lot of segments and whenever i try to smooth it after dynamesh, the result is too soft or blurry. Small detail get lost alot. I however see peoples result in here and they have clean yet sharp results and none of these hard edges. Ben Boltons example for instance is perfect despite of his curved surfaces not having alot of segments.
  • cabooes
    Offline / Send Message
    cabooes vertex
    Bumblebee said:
    hey, so i have been playing around with this again. Im trying to convert some of my old lowpolys into highpolys but the edges are always way too sharp. Is there a way I can work around that? My lowpoly versions dont have a lot of segments and whenever i try to smooth it after dynamesh, the result is too soft or blurry. Small detail get lost alot. I however see peoples result in here and they have clean yet sharp results and none of these hard edges. Ben Boltons example for instance is perfect despite of his curved surfaces not having alot of segments.
    I found at least in my case having a higher dynamesh count and using a value of 1 or 2 for features or overall polish helped.
  • Amsterdam Hilton Hotel
    Offline / Send Message
    Amsterdam Hilton Hotel insane polycounter
    Bumblebee said:
    hey, so i have been playing around with this again. Im trying to convert some of my old lowpolys into highpolys but the edges are always way too sharp. Is there a way I can work around that? My lowpoly versions dont have a lot of segments and whenever i try to smooth it after dynamesh, the result is too soft or blurry. Small detail get lost alot. I however see peoples result in here and they have clean yet sharp results and none of these hard edges. Ben Boltons example for instance is perfect despite of his curved surfaces not having alot of segments.
    I'd have to see the before/after to get more specific but generally speaking,

    1. Use dense geometry in the boolean stage for any curved features - chamfer and turbosmooth modifiers are your friend 
    2. Any visually significant chamfered edges, wider than other edges, should be present in the boolean stage
    3. Use the minimum resolution in Dynamesh that still preserves necessary details and curves
    4. Use Dynamesh polish to achieve minimum edge width (see #2)
    5. Try different polish values to see what gives the best result
    Something that helps a lot with 2) is to create a copy of the proboolean, collapse it, select the edge you wish to chamfer, and convert it to a spline. Then use this spline to build the chamfer cut geometry and apply it back as a boolean operation.
  • Bumblebee
    Offline / Send Message
    Bumblebee polycounter lvl 3
    for example i tried to make a quick highpoyl from a cs go model to get a nice normal bake. However even when just polishing witha value of 1 it gets extremely soft. 

    plus theres a lot feel of a low res mesh, and subdividing kills my computer (its 500,000 polys after dynameshing, resolution 1024)

    I really wished i could get some cleaner results like you guys.
  • LaurentiuN
    Offline / Send Message
    LaurentiuN interpolator
    @Bumblebee
    You need millions of polys/points for that to work!
  • Amsterdam Hilton Hotel
    Offline / Send Message
    Amsterdam Hilton Hotel insane polycounter
    Yeah, if you're trying to do an entire gun as one object like that then the dynamesh would have to be really high resolution... you'll also get transitions that don't make sense, like the fire selector smoothing out into the receiver when they're actually separate parts. You'll get better results if you split all the component parts off from each other and put each part through this process individually rather than trying to remesh and smooth the entire assembly. 
  • kanga
    Offline / Send Message
    kanga quad damage
    Bumblebee said:
    for example i tried to make a quick highpoyl from a cs go model to get a nice normal bake. However even when just polishing witha value of 1 it gets extremely soft. 

    plus theres a lot feel of a low res mesh, and subdividing kills my computer (its 500,000 polys after dynameshing, resolution 1024)

    I really wished i could get some cleaner results like you guys.
    Yeah split your model into parts, or at least a few large ones to make it manageable. Even then parts that you dont want to be welded together to give you nice fillets should be in a separate polygroup. Then smooth by polygroup. Look through the thread and you will see that curves have alot of polys in the base model and flat areas have one or two polys at the most. For me its easier to model in an external app ( Max) and use super booleans, then send the model to ZB where verts get connected automatically. Then poly group parts into a seperate group) I want to be smoothed separately and put parts I want filleted or treated as a single object into one polygroup. I think you can even dynamesh parts by groups which will stop the objects Like bolts and switches from being welded to the main assembly.
  • cabooes
    Offline / Send Message
    cabooes vertex
    When ever I decimate my models in zbrush I always get some sort of tearing on all the edges during texturing or baking the normals in painter. Any guesses? 
  • kanga
    Offline / Send Message
    kanga quad damage
    cabooes said:
    When ever I decimate my models in zbrush I always get some sort of tearing on all the edges during texturing or baking the normals in painter. Any guesses? 
    A guess would be that you are decimating the models to a low enough resolution so that you are loosing detail. Im not sure what baking process you are using but a decimated model is more suited as a base for retopoing in your external 3d app. I wouldnt use a decimated mesh for baking but only as reference for creating the game mesh: shape, size and exact position. If you are using the decimated mesh as your high res mesh for the baker in painter you will loose detail. Hence the tearing. Rather export your hirez model from Z (FBX format is best) at its top sub level and point painter to that.
  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 10
    @kanga I think he is just using too low resolution. Been baking myself decimated models for a while. All look good. Mostly using around 20% of input mesh. If you have alot of curvy surfaces on your mesh you can use a bit more. Like 40%. He must be using way too low resolution (Less than 5% I would guess?).

    Here is one of the older meshes I made. I think total polycount highpoly(decimated one) was around 1.5mil.

  • kanga
    Offline / Send Message
    kanga quad damage
    ...

    Here is one of the older meshes I made. I think total polycount highpoly(decimated one) was around 1.5mil.

    That mesh looks pretty good. So its a question of resolution and also if you wanted to bake a texture I guess. I just baked a character whos high body part mesh is 2.276 mil points with a diffuse map, without a problem. Horses for courses I suppose.
  • Bumblebee
    Offline / Send Message
    Bumblebee polycounter lvl 3
    is it possible to to assign custom smoothing groups in zbrushr7? Like in max where you can then just smooth by smoothing group ?
  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 10
    @Bumblebee Yes. I am not using Max but what you can do inside Max is to add smoothing groups then inside UV editor you can split UV islands based on your smoothing groups. Next step in Zbrush is to go to Polygroups and hit the "Auto Groups with UV" button. Now  go to Geometry->Crease and use "Crease PG" button. Now just spam Ctrl+D . Also make sure when you export your mesh to ZBrush is that it doesn't contain any ngons or it can mess up polygroups.

  • cabooes
    Offline / Send Message
    cabooes vertex
    would drawing our the quads on the high poly mesh be a good alternative to get the the low poly? I'm guessing it would be, but things such as rail systems seem like wit would be a bit of a pain to do.
  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 10
    @cabooes You mean picatinny rail? You could just make one segment and duplicate it.
  • cabooes
    Offline / Send Message
    cabooes vertex
    @cabooes You mean picatinny rail? You could just make one segment and duplicate it.
    I guess this is more what I meant but definitely it can. This I made and everything seemed to work out up until I wanted to make it to a lower poly count. I guess a model like this is best for CAD. On some parts of the edges you can see white scratches this is the tearing I was referring to. 


  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 10
    @cabooes Could you provide a wireframe shot? And a bit closer to the holes?
  • cabooes
    Offline / Send Message
    cabooes vertex
    @cabooes Could you provide a wireframe shot? And a bit closer to the holes?

    Had to make it again but this is what it looks like when booleaned. 


    dynameshed with polishing

  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 10
    @cabooes Hm. Judging by the second image. It seems that vertice aren't merged where polygroups are being split. Trying going to
    Geometry -> Modify Topology -> WeldPoints.

    Do this before applying Dynamesh and any polish modifiers.
  • cabooes
    Offline / Send Message
    cabooes vertex
    @cabooes Hm. Judging by the second image. It seems that vertice aren't merged where polygroups are being split. Trying going to
    Geometry -> Modify Topology -> WeldPoints.

    Do this before applying Dynamesh and any polish modifiers.
    Seems like is helped a bit


  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 10
    @cabooes Would you mind uploading that mesh somewhere?
  • cabooes
    Offline / Send Message
    cabooes vertex
    @cabooes Would you mind uploading that mesh somewhere?
    Here's the boolean mesh 


     https://drive.google.com/open?id=1DbB_auffOb4I3Z9wjZfVnV5wOALBJ3vp

    Edit: let me know if there is something wrong with the link

  • cromadbomber
    Offline / Send Message
    cromadbomber polycounter lvl 10
    @cabooes Alright. It seems I found the issue. Zbrush WeldPoints has some weird tolerance slider(Weld Distance). By default it seems to be set to 1. And that will only merge a small portion of vertice. Now you can crank it up higher but I wouldn't recommend since there is no floating point precision in distance(And you might weld some unwanted vertice). Now I would recommend you to go into your usual 3D app like Maya, Max, etc and merge the vertice there. For the reference in Maya I used Merge Vertex with tollerance set to 0.01. That dropped the vertex count from original 30 726 to 26 404 while using Zbrush WeldPoins with default tolerance of 1 dropped to around 29 000(Which didn't merge all the vertice).
    Here is the properly merged mesh. Dynameshed to 3 mil polygons and used Polish modifier with value of 15.



  • cabooes
    Offline / Send Message
    cabooes vertex
    wow that worked out really well! So being that the welded version has 26,000, could that be used as the "low poly"  to have the high poly detail baked one it? Assuming the only purpose is to be used just for just render and not a game.
  • cromadbomber
  • cabooes
    Offline / Send Message
    cabooes vertex
    @cabooes Yep. 
    Sweet everything worked out thanks for the help! I did figure out why I was getting tearing to it was honestly because I forgot to export the normals with the model from maya after uving it....simple mistake.  


  • irvingao
    Offline / Send Message
    irvingao polycounter lvl 9
  • Ingsoc75
    Offline / Send Message
    Ingsoc75 polycounter lvl 5
    cabooes said:
    Whats a good workflow to make the high poly meshes into lowpoly and good enough to the extent where you can UV them with some control?

    Edit: Starting out with modeling in zbrush and decimating it to the extent where you can uv it in  Maya. 
    I would like to know this as well. I've been able to take some CAD models and get them into zbrush using Dynamesh/Zremesher but their polycount is way to high for use in a game engine.
  • kanga
    Offline / Send Message
    kanga quad damage
    Ingsoc75 said:
    cabooes said:
    Whats a good workflow to make the high poly meshes into lowpoly and good enough to the extent where you can UV them with some control?

    Edit: Starting out with modeling in zbrush and decimating it to the extent where you can uv it in  Maya. 
    I would like to know this as well. I've been able to take some CAD models and get them into zbrush using Dynamesh/Zremesher but their polycount is way to high for use in a game engine.
    This technique aids in making a hipoly mesh for texture baking details onto a lowpoly version of the mesh for use in a game engine. The Polycount wiki has the information you are after at: http://wiki.polycount.com/wiki/Texture_Baking
  • Ingsoc75
    Offline / Send Message
    Ingsoc75 polycounter lvl 5
    kanga said:
    This technique aids in making a hipoly mesh for texture baking details onto a lowpoly version of the mesh for use in a game engine. The Polycount wiki has the information you are after at: http://wiki.polycount.com/wiki/Texture_Baking




    So this is only useful if one is doing high poly to low poly baking?

    We are just looking at a quick way of taking a triangulated CAD mesh and making clean mesh to use. 
  • kanga
    Offline / Send Message
    kanga quad damage
    Ingsoc75 said:
    kanga said:
    This technique aids in making a hipoly mesh for texture baking details onto a lowpoly version of the mesh for use in a game engine. The Polycount wiki has the information you are after at: http://wiki.polycount.com/wiki/Texture_Baking




    So this is only useful if one is doing high poly to low poly baking?

    We are just looking at a quick way of taking a triangulated CAD mesh and making clean mesh to use. 
    I guess you could use it for standard hipoly modeling. Only disadvantage is the resulting mesh in zB is very dense which doesnt matter if your intention is to use it in a baking process.
  • Amsterdam Hilton Hotel
    Offline / Send Message
    Amsterdam Hilton Hotel insane polycounter
    Ingsoc75 said:
    We are just looking at a quick way of taking a triangulated CAD mesh and making clean mesh to use.
    That's not really something this workflow can accomplish

    You can feed a CAD mesh into ZBrush and get edge-polishing out of it,
    Decent enough for rendering.

    But as far as a clean mesh, that's the point of the first half of the workflow, working with 3ds booleans in the first place.
    Doing it within Max or another parametric polygonal modeling program, you can later revert closer towards a usable game mesh.
    Simplify the operations and take advantage of baking.
    But if the original mesh itself comes from CAD, you are gonna have to either do retopology, or a lot of manual cleanup work.
    And that's the way it is

  • Ingsoc75
  • Wisegold
    Offline / Send Message
    Wisegold polycounter lvl 5
    Hey guys, amazing workflow.... just a question, I can`t create the button for the script quick low stack...help me please
  • kden1337
    Very nice workflow, especially for guns but i'm having some issues which makes it not a super friendly workflow for me: 

    I constantly have wrong remeshing with dynamesh no matter how high res, plus curved parts are still choppy since they're so high res and dividing doesn't do nothing.

    Polygroups with zremesher seem to be better but they're still innaccurate because of the polygroups not being good enough, i don't know how to manually add colors by faces which is problematic. Does polycount have direct messaging?

    P.S : I use Blender and below is the triangulated mesh in zbrush.

  • Noors
    Offline / Send Message
    Noors greentooth
    Just passing by to say that claypolish with softness doesnt result in inflated "chamfers" like polish does (which was bothering me).


  • guitarguy00
    Offline / Send Message
    guitarguy00 polycounter lvl 6

    Hey guys, thought I would post this instead of starting a new thread. I sent my HP handle out of 3DS Max(with 3 subdivision levels already) and someother HP objects I want to subtract boolean. I go to Zbrush and subdivide my handle once again and perform the boolean operation. I then Dynamesh it as I want to polish and add some manual cuts and then export out to bake.

    I should mention, the base HP mesh out of 3DS is NOT faceted. I checked in Marmoset with a high gloss value and full metalness, it is smooth.

     Unfortunately I get this faceted result shown below.  I believe this is a result of the Dynamesh operation detected even the slightest angles in the subdivided mesh? Should this happen as I already Subdivided it 4 times prior to Dynamesh? The Dynamesh mesh is at 8 million points as is. Is there a setting that prevents this or am I missing a step? Any help would be very much appreciated.

  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    Have you checked your UVs? Just looks like an unfiltered reflective material applied to a mesh with a badly stretched UV.
  • guitarguy00
    Offline / Send Message
    guitarguy00 polycounter lvl 6
    PolyHertz said:
    Have you checked your UVs? Just looks like an unfiltered reflective material applied to a mesh with a badly stretched UV.
    UV's seem fine. If they were stretched the normal details on the handle in the picture would also be stretched... The problem seems to be in the high poly after dynamesh.
  • rregula
    Offline / Send Message
    rregula polycounter lvl 4
    guitarguy00 said:

    Hey guys, thought I would post this instead of starting a new thread. I sent my HP handle out of 3DS Max(with 3 subdivision levels already) and someother HP objects I want to subtract boolean. I go to Zbrush and subdivide my handle once again and perform the boolean operation. I then Dynamesh it as I want to polish and add some manual cuts and then export out to bake.

    I should mention, the base HP mesh out of 3DS is NOT faceted. I checked in Marmoset with a high gloss value and full metalness, it is smooth.

     Unfortunately I get this faceted result shown below.  I believe this is a result of the Dynamesh operation detected even the slightest angles in the subdivided mesh? Should this happen as I already Subdivided it 4 times prior to Dynamesh? The Dynamesh mesh is at 8 million points as is. Is there a setting that prevents this or am I missing a step? Any help would be very much appreciated.


  • rregula
  • guitarguy00
    Offline / Send Message
    guitarguy00 polycounter lvl 6
    rregula said:

    I am still getting the same problem. It is happening in Zbrush. This is the High Poly exported out of Zbrush and into Marmoset.

  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    It could also be caused by bit depth or texture conversion/compression issues. If you can post the files it would help quite a bit in figuring out the exact cause.
  • Kanni3d
    Offline / Send Message
    Kanni3d ngon master
    PolyHertz said:
    It could also be caused by bit depth or texture conversion/compression issues. If you can post the files it would help quite a bit in figuring out the exact cause.
    It ended up being exporting as .fbx and not enough sub-divisons. :astonished:

  • zachagreg
    Offline / Send Message
    zachagreg ngon master
    Noors said:
    Just passing by to say that claypolish with softness doesnt result in inflated "chamfers" like polish does (which was bothering me).



    The one issue with that is that for some reason clay polish fucks your geometry causing weird warping and then needs Zremeshing/Dynameshing after wards. If you don't intend to sculpt afterwards then this method works in a much cleaner way than traditional polish.
  • Kanni3d
    Offline / Send Message
    Kanni3d ngon master
    zachagreg said:
    Noors said:
    Just passing by to say that claypolish with softness doesnt result in inflated "chamfers" like polish does (which was bothering me).



    The one issue with that is that for some reason clay polish fucks your geometry causing weird warping and then needs Zremeshing/Dynameshing after wards. If you don't intend to sculpt afterwards then this method works in a much cleaner way than traditional polish.
    I find polish by crisp edges with hardness does great, no inflated chamfers either.
12346
Sign In or Register to comment.