ZBrushCentral

Zif Worm Version 4.1 (updated- 1-17-04)

Well they say the worms crawl in and the worms crawl out. This is a script I meant to write a while back and never got around to it. Use a simple brush and draw a line between twi points on the canvas and this script will use the information contained in the stroke data to create a string of zspheres between the two points.

:ex: Update 1.1 :ex:

Changed Density Slider to Integer 1 to 4
Fixed (I think) first node Zdepth

Thanks TVeyes!

:ex: Update 1.2 :ex:

Fixed Zdepth problem (really)
Also added new feature

if you use “Auto” to have the program set the size of each node based upon distance it will update the “Diam” slider with the Average size of the model. For slightly smoother results you can cntrl Z to erase your object, then unselect “Auto” and redo your “DoBrushStroke” using the Calculated Average. Maybe this is the way Auto should work anyway, what do you think?

:ex: Update 1.3 :ex:

Fixed a few more problems I noticed

added Aver button which will average out and size the object making it a uniform diameter if you used the auto switch to keep nodes from overlapping.

Added + and - size buttons .1 and .25% Pressing these will increase/decrease the size of the object’s nodes

Added Taper button. Set Tincr plus or minus to select the direction of the taper from the Root sphere. Tip: oversize the model with the ± size buttons to get the root sphere big then taper.

:ex: Update 1.4 12/24/03 :ex:

Fixed even more problems

added Pnts Slider which will show you the number of stroke points in the stroke when you press “Save Stroke” it also automatically changes the “Res” slider to equal 10% of that number, which you can change if so desired. I have had good success in creating optimum worms at that value. However it appears that lower resolution may require you to rotate the mesh into position a bit, not sure why that is. I will keep investigating

:ex: Update 1.4 12/24/03 :ex:

Fixed some more small problems and added a process to remove any points in the stroke that are the same value. Typically the first few data points in a stroke when the user presses the brush down are the same value which creates some pesky nodes in the mesh. This new version gets rid of those and fixes a couple of logic errors.

:ex: Update 2.0 12/31/03 :ex:

Added Dline and 2D Funtion
Added Mirror Functions
Added Texture Mapping Buttons
(see PDF Manual for instructions_

:ex: Update 3.0 1/4/04 :ex:

Added the ability to change the Interface menu graphic, just press the big button on the left
Added Smooth Switch to smooth input stroke
Added Atr and Nrm switch to select either Normal, Attractor, or both for sizing
Added Memb(rane) function to make various types of lines by adding attractor spheres to the line.

Read the Updated PDF Manual for more information

:ex: Update 3.1 1/7/04 :ex:

Added “Put” button which when pressed will activate the mouselook. Mouse Left-click the spot on the canvas to place your currently active object and it will place it there. Set the “Snap” switch to on to automatically snapshot the object onto the canvas. Usefull to create alot of objects in a short time or to quickly move it from spot to spot.

Thanks again to TVEyes who spotted a problem with the texture mapping I added 2 switches “Band” and “Stripe”. Select these before you press the Map Texture button.

“Band” will rotate the imported mesh so that it is horizontal and use UV Planar mapping to make the texture band on the object.

“Stripe” will rotate the imported mesh so that it is orientated on the Z-Axis and use the UV Cylindrical Mapping which will make the texture stripe the object.

Clear as mud eh? keep on experimenting!

I also fixed a problem with the data embedding in the Zsphere objects. You could not leave the script and come back and have it “RCL” correctly. Now it does, so that you can exit Zif Worm, use another script, rotate, resize etc… your object then come back to Zif Worm and hit “RCL” and it will put your object back on the canvas where you drew it.

:ex: Update 3.2 1/8/04 :ex:

I realized that I did not have to have 2 functions of Mapping Banded and Stripe so I removed them. Therefore the script now does only UV Cylindrical. All you have to do is go to the Textures Modifiers and Rotate the selected Texture to get the orientation you want. Note, the script maps a default striped texture on the object when it is created. Now the mapping is set, so you then select the Texture you wish to use.

Also Changed the way the “RCL” button works. There are two buttons “<” and “>” which will scroll thru the current Worm Objects in your tool box. Once you find the one you want press “RCL” and it will load it on the canvas. Otherwise “RCL” will either load the last Created Worm or the one you have active. This feature is very useful if you exit the script and use another then come back. If you haven’t cleared, exited or otherwise removed the objects that you have been working on from the Toolbox then they will be available for use. All this works because they have thier positional and size data embedded in them.

:ex: Update 3.3 1/8/04 :ex:

Quick update, I found out there was a bug in the “Put” function when it would try to find the “Snap” switch. All fixed now.

Also added Z-Axis to the “Memb” function. This brings the Attractor spheres toward you (neg switch on) or away from you (neg switch off) Set CRes to CRes and get a smooth ribbon.

example:

[img]http://www.cyber-webs.com/zbrush/testmap.jpg[/img]

will update the PDF soon

:ex: Update 4.0 1/13/04 :ex:

Revamped the “Memb” functions to be easier to use and more powerful with the

PMemb - Use the mouse to place the Attractor nodes

LMemb - Use your mouse to draw a line on the canvas to which the Attractors will conform to.

Dmemb - Creates/moves the Attractors to a distance relative to the Radius of its parent node - Thanks Juandel!

I/O/U/D/L/R (in/out/up/down/left/right) buttons to move all attractor nodes in the direction indicated.

All Memb functions will initially Create the Attractors or Modify any existing Attractors on the object.

You can also use these controls with “Preview” on so you can see in realtime what is happening to your mesh and fine tune it.

Other stuff, read about in the updated PDF or start pressin buttons!

:ex: Update 4.1 1/17/04 :ex:

Added “S” (Save Position) and “R” (Recall Position) buttons to save and recall a stroke or object’s position on the canvas.

Added “Offset” switch which shares the “±” and the “Ang” slider with the Rotation function. This allows you to move the “Center” point of a mesh so that it Rotates about a differnt point.

Switch Offset ON and it loads the last value you used in the Ang slider. Switch it off and it loads the last value you used for Rotation.

Get it Here

ZifWorm.zip

Updated 1/13/04 Zif Worm Documentation in PDF format

Zifwormdocs.zip

Please post your experiments on this thread.

Steps to get you started, see PDF manual for more information.

Step 1

Create a brush stroke with a simple brush. Select a drawsize of 1 to 3. Select your starting and ending positions on the canvase and use a steady stroke keeping the speed as constant as you can. Create loops and circles to your liking.

Step 2
Press the Store Stoke button to save the information. The button will automatically erase the stroke from the canvas

Step 3 Decide on the object’s diameter by inputting a value into the Diam slider or pressing the Auto switch on to automatically size each node.

Step 4 Decide the density of the created adaptive skin by setting the Density slider, the default is 4

Step 5 Decide on the number of nodes your object will have. I suggest 100 or less, the default is 100.

Step 6 If you want to connect two objects point to point set Zline On. If you want the object to conform to the actual Zdepth of the brush stroke leave it off.

Step 7 Press the DoBrushStroke button. The object is created and left in the Scale mode. Fine tune the size and use the Move or Rotate mode to place the object exactly where you want.

Step 8 If it hasn’t turned out like you planned, use Cntrl Z to erase and reset your settings and press DoBrushStroke again or completely redo your stroke. The Stroke information will not be erase unless you exit the script or create another brush stroke.

Vrey nice post, I will look foward to try it out :smiley:

Sweet script Digits :+1: :+1:
I wanted to make something like that but my brain failed me at the last moment :slight_smile: Going to be using this alot. Thanks.

Feedback:

  • Skin density is not integer based, which is slightly confusing if you do not know you can only choose 1-4.

  • The first point you click (Z depth) seems to be out of whack with the rest of the line. I can turn on Zline to rectify this, but I cannot get a line of zifs that follow an axis doing that.

Thanks again for this neat script and for the source code :+1:

Thanks for the Feedback TVeyes, I updated the version to fix the Density and Zdepth problem. At least I think I fixed the starting Z hehe.

Another great zsphere zscript :+1:

I have been having fun making intestines, and especially like the ability to draw zsphere chains in ‘depth’ (Zline off). This will be a great boon when wanting to generate zsphere models to match existing geometry.

Here’s a quicky cubic sausage drawn around a cube primitive - not great art but a tasty sample of what your zscript can achieve in short order :smiley: :roll_eyes:.

I don’t know if it’s possible, but a taper function might be useful, i.e. the ability to gradually decrease the zsphere size in either direction over the length of the chain.

While I am here, if I could be cheeky and ask a non-related question (I hope I haven’t asked before); do you know if it would be possible to change which zsphere is the root node in a zsphere model?

Many thanks

Bone

Hi Digits
You said 1.1 but it’s write 1.0 inside ?
And a curious line exist at the beginning of the result !
Pilou

another mega :sunglasses: script, Floyd! thanks for this wonderful christmas present! :+1: ad infinitum! found no flaws except strange overall zbrush behavior on 1st try after pressing end recording to save my session: zbrush wouldnt let me do the saveas document or any exports afterwards, a plain save was the only option. never hd this happening before, but i couldnt verify its the worms script fold as my 2nd try at it didnt come up with anything similar. so it probably was some no-no of another kind. love that zline function! questions: though skinned they tool-palette windows dont list the newly created tools as “zsphere#” - would there be a way to access the unskinned zspheretool, too?

@bonecradle: fantastico cube-zspehereline!

@Pilou: to avoid the “line” you might want to fill the canvas with any colour before doing the stroke that you want to store! the 2nd one is dedicated to you - congraz on :smiley:

first attempt: hot sauce worms (including some of Pilous lines :smiley: + lots of bumpbrush)

2nd one making use of zline (again working on default canvas, so doing aa-half would have made it too small - argh!):

merry christmas, ZBs! :smiley:

  • juandel

this tool feel good, is the result is 3d object or just a 2.5 D ?

Thanks for all the comments, I appreciate it and it is great to see some creations.
I am still thinking of uses.

Bonecradle, a taper function would indeed be a good addition, I will put it in. Meanwhile you could open up Zif Slick to taper it etc… Also there is no way to change the Root Sphere on the created model, but I could add a function that you could select the node you wanted to be root and it would recreate the model. May I ask why you would need to change the root? If it is to change the pivot point of the model you could use Zif Slick Orient and move the CenterPoint to the position you want it to rotate about.

Frenchy you caught me I forgot to change the version number, I will correct that with the next update. I am not sure what the line is, can you get the script to make more so we can see what the problem is?

JuJu, how happy I am to see that I got you to dust off the ole zbrush. You have always been the pioneer of Widgets and make a simple thing something beautiful to look at. To see the unskinned model you might be embarrased to know that you press the ‘a’ key or turn “Preview” off, and wunderbar.

Fouad, the created objects are fully 3D zsphere objects. Like I mentioned to Juandel, just turn Preview off and you can then continue to manipulate the zspheres.

TVeyes, thanks for PM I will keep working on the Z problem. I think it has to do with the way I am creating the first Node in world space. I will keep working on it, perhaps you can see in the script what is happening as my time in the next few days may be limited.

I’d love to see more images, keep them coming.

Thx Juandel :cool:
Hi Fouad
Sisi c’est du vrai 3D de la pure Zsphere je crois!
Yes it’s real 3D of zspheres I believe !
Have happy worming!
Pilou

fantastic images. Thanks for the script Floys it is appreciated.

How did you do that in Three axis?
I’m not understood the Zline function…?

Feliz Navidad y prospero Año Nuevo!!!
Merry Christmas and A Happy New Year … my the joy of this wonderful holiday bring you closer to your loved ones and your friends!!! :stuck_out_tongue:

Hi Digits, The script Master;
Another wonderful script from your workshop.
I just downloaded it and I got some ideas for
it, as soon as I get some time. It’s a very
handy and useful script.

Thanks for sharing your ideas! :+1:

Hey Fouad

Put any object on the canvas (e.g. a primitive) and then draw a line with the simple brush on it.

When you use the script, turn Zline off. This causes the zspheres to follow the line in depth as well.

Version 1.2 is off the griddle. It fixes the Z Depth problem that TVeyes noticed. What was happening was that I was placing the root sphere on the canvas before recording the depth of the stroke. So it was actually recording the depth of the zsphere on the canvas into the model! Doh!

I also cleaned up the code and added some comments.

Thanks again for the interest

I must say it makes for some wild hair!

My head by Ed

Had a little time so I added Size controls and a Taper function with Version 1.3

Wow! That is some beautifull hair.

see, Floyd? ive told you a zillion times that strange things will happen to both your synapses and hair when widgeting too mucho :smiley:

thanks for the pointer to press “a” to be able to access the zspheres - duh! the first one was done after skinning and texturing (uvc) some worms done in zifworm1.1. today i found that you have churned out 1.3 already and set out to do some seasonal santa worm but ended up in monochromeland instead :rolleyes: thats one big fun and hairgrowing tool! though i havent got into taper and suchlike yet i realize its revolutionary! a zillion thanks for sharing!


  • juandel

edit: a 2nd attempt at santa worm looks more like i was heading for :smiley: merry xmas, ZBs - over here its celebrated on the evening of 24th, which is just a couple of hours away