ZBrushCentral

Fibermesh for 3d prints: grooming distorts cross sections

When grooming, moving or smoothing Fibermesh hairs, the cross-sections of the resulting fibers become very thin. Is there a way to keep this from happening?

Real, thick geometry is needed SO fiber mesh profile sides are set:
- set Fibermesh>Profile to 4 sides

  • Fibermesh>Accept
    - groom the hairs with move, groom and smooth brushes
    The resulting cross sections are no longer uniform and often flattened. See photo.
- BPR render
- Geometry>"Convert BPR to Geo" 

With no grooming, the BPR cross sections all look uniform.

Any suggestions on how to avoid this flattening?
Or another way to groom a hairstyle (using super fat hair strands) and create real geometry the can be 3d printed?

Any help will be appreciated!


Before Grooming, profiles look great


After Grooming, smoothing or moves, the fiber cross sections severely flatten.
Same thing happens with 3-sided fibers (profile = 3)

ZB 2022.0.5
Mac M1
OSx 11.6.3

The Fibermesh Profile Documentation:

  • Profile: Defines the number of sides for each fiber. The default value is 1 which will create a strip of one sided flat polygon(s). Increasing the value to 3 or 4 will create a triangle shaped fiber that is capped off at the end. Increasing this value to higher numbers will create rounded fiber sections, but it will also drastically increase the FiberMesh polygon count.
    When the value is adjusted higher than 1, ZBrush will warn you that you can alternately use the BPR Sides setting located in the Fibers sub-palette to increase the number of sides at render time rather than having to work with a high number of polygons during sculpting. We recommend keeping this value at 1 and use the BPR Render options when creating fibers that are intended for hair, fur, fabrics for clothing, and etc. Only use Profile when you’re going to be exporting your FiberMesh.*

Hello @artmaker ,

If you generate actual 3D fibers (profile >2), then the volume of those tubes will tend to flatten when deformed with a brush with an indiscriminate falloff just like any piece of 3d geometry would. In most typical fibermesh scenarios this is not likely to be noticed by the viewer at normal levels of magnification.

BPR will render virtual geometry for fibers at render time based on the settings in Fibermesh> BPR settings. If rendering with BPR it is not necessary to create 3D fibers. You can groom the 2D fibers without distortion and let BPR create the 3d effect.



In the case that you want to create actual 3D geometry you could:

  1. Attempt to repair the flattened areas locally with the Inflat brush set to a low intensity, or Tool> Deformation> Inflate for a global effect. This will be easier to do if you limit the “Segments” setting, and use subdivision to smooth the curves after grooming. The more points on the surface of the mesh the more sensitive they will be to local distortion.
  • You can isolate any part of your fibers with the Tool> Masking> Mask by Fibers options if you wanted to only inflate the tips. Likewise you could use the polypaint settings at the time of creation to create fibers with a color at the tips that can be quickly masked with the Masking> Polypaint options.
  1. Create the curves as 2D, groom them and then convert them to 3D. For low polycount situations this could be done with ZModeler> QMesh >All Polygons. For higher polycount situations you could use Subtool> Extract with both Double and Smoothing disabled to create a new subtool with 3D extracts from the 2D fibers. Note that this subtool would be normal geometry and not a live Fibermesh subtool, so it will distort when stretched. Any grooming should be done prior to conversion.

Note that Fast preview mode must be disabled in order to see all the geometry of fibers generated with 3D geometry.

:slight_smile:

@Spyndel
As always, thanks for the helpful and fast reply.
Re the flattening that make sense. I will try inflating

Your advice to turn off Fast Preview to see all the strands in 3d was very helpful!

Any suggestions for shortening fiber mesh hair lengths? Smoothing or moving with PreserveLength <100 works well for lengthening. But it gets really messy when trying to shorten.
Likewise, using the clip curve – I cant make that work without a mess at the fiber ends.

thank you!

Hello @artmaker ,

Smoothing the fibers should contract them. Reducing the ZIntensity for the active smoothing brush may make the effect easier to manage. Since it’s generally easier to extend the fibers than to reduce them you should err on the side of shorter fibers when creating them.

:slightly_smiling_face:

Spyndel,
Thanks for the additional tips. And I will definitely start with shorter fibers on the next project.

Also, I tried your #2 suggestion: using Extract to create the geometry.
That looks really promising with nice flexibility.

Appreciate it!