So I have to do an image of a guide wire filling up a cavity. Picture a bowl filling up with one long piece of spaghetti. Looking for a suggestion on the best way to achieve this.
Thanks in advance for any suggestions.
Wayne
So I have to do an image of a guide wire filling up a cavity. Picture a bowl filling up with one long piece of spaghetti. Looking for a suggestion on the best way to achieve this.
Thanks in advance for any suggestions.
Wayne
Hi @Wayne_Heim ,
The best way to do this would be to simply model the bowl’s filling as a solid mass, then sculpt “noodle detail” over the surface of that mass. From the description given, anything else would be extra work to create geometry that is difficult to work with, for something that the viewer is not likely to notice.
For the purpose of your question though, I will assume you have to do it this way for whatever reason.
One option here would be to simply use the CurveTubeSnap brush to slowly build up noddle detail over the surface of the bowl. I’d be lying if I said it would be easy to do this as one unbroken string from beginning to end. It would be far easier to do this in a series of long strings lying over top of each other. The viewer will not be able to tell the difference.
Another options would be to create some sort of coiled mass from the topology of another mesh, like the primitive cone or helix, and then use Dynamics to lower the mass into the bowl. Dynamics may require finesse and interaction from the user to get the best results. You might find it useful to periodically pause the process and “freeze” portions of the mesh you are happy with with soft masking to prevent them from being further deformed by the process.
If you can create any kind of spiral topological pattern on a piece of geometry, you can attach a curve to one of those spiral edge loops. Simply click on an edge loop that runs the entire length of the mesh with ZModeler> Edge> Crease> Edge Loop complete. Then convert it into a curve with Stroke> Curve Functions Frame Mesh > Creased Edges (only).
Now you have a live curve that you can click on with CurveTubeSnap to generate a tube. There is a limit to how much geometry can be generated doing this, so it may be necessary to increase the curve step value in Stroke> Curve> to space out the intervals more so that the tube can be fully drawn out. The coiled tube can then be split into a separate subtool with Subtool> Split> SplitUnmasked.
Thank you Spyndel. I was trying to use curvetubesnap. The problem I was running into is I need the spaghetti/wire to be stiffer. Right now if I cross over another string, it conforms over the surface too tight and goes down into the gaps between the wires. Is there a way to stiffen up the wire strands so they don’t confirm as much. In your sample it looks like you were able to achieve that. How did you do that? This is for a medical illustration where a fine wire is fed into a tissue defect.
I also like in dynamics where you have the inflate option so each one doesn’t sit directly on the underlying modifier. Is there a way to set that for the curvetubesnap as well?
Thanks in advance.
Wayne
Yes! But there is also a way to eliminate the stroke overlapping itself.
When drawing a tube stroke, the way to make it stiffer is to limit the resolution. The more points on the surface of a mesh the more responsive it will be to deformation. The fewer points a mesh has, the more it will resist surface distortion, and the easier it will be to correct with things like low intensity smoothing and low intensity inflate brush. Draw your tubes at as low a resolution as possible to define the curve, and then subdivide them to smooth them, rather than drawing them at high res to begin with.
With a curve tube stroke, you can limit the amount of sides it has in Brush> Modifiers> Brush modifiers. Set this to the number of sides you want. To reduce the number of segments, increase the stepping value in Stroke> Curve.
Re: Overlap
The Tube stroke won’t respond to itself as surface information while you’re still drawing out the live stroke. However, once the stroke is committed, subsequent tubes drawn over it will elevate where they overlap because it sees that as the new surface.
To prevent this from happening, ctrl-click on a blip in your undo history bar to mark that state. The brush will then only use that history state for evaluating surface information and ignore everything else that has happened since. So you would locate a state for your “bowl” mesh that has no other geometry added to it yet, and Ctrl click on that blip to mark it. The Curve Tube stroke will only see that bowl as the surface, no matter how many additional tube strokes you lay down.
This would also be useful for creating a solid “mass” of spaghetti, conforming to the surface of a shaped volume you have created for that purpose. Just remember that you then have a marked history state, and this is going to affect the behavior of many other brushes in ZBrush. To clear it, simply Ctrl click on any blip in the History, then Ctrl-click again to clear it.
Good luck!
Super big thanks Spyndel! I’ll give it a go.
Wayne
Spyndel, I must be doing something wrong. I get my first stroke/tube down in my half sphere. Then adjust the curve step setting to lower the bend resolution. But the tube is not respecting the underlying geometry consistently. Some places it intersects the first tube and some places it even passes through the “container”. I tried adjusting the curve steps but don’t seem to be able to get it to stack up like your bowl full of spaghetti. Did you have to adjust/offest each layer manually?
W.
I don’t see a marked History State in the screenshot, so I assume in this case you want the new strokes to respond to the old.
In this situation you may have to increase the resolution of the curve to make it more responsive. The reduced resolution of the curve in this case means in some places there won’t be enough points to form a curve that accurately responds to the underlying surface, and it may clip through the geometry as a result.
The following image probably illustrates your issue:
That is correct. I want each new loop of wire to lay on top of the underlying layer much like you did with your sample bowl of spaghetti. Who did you layer it up so deep in your sample?