In the other two lessons you learned all about setting up your objects. I did mention that you can have up to 10 of them didn't I? Actually with some techniques that I will share later you can have an infinite number of animated objects if you so wish. I am actually pleased with the way this script has turned out and the wonderful majic that Pixologic has given me to create it because it actually has capabilities that no other animation program that I have found has. With the ability to easily morph an object I suspect that someone (besides me) could actually use this script and produce some astounding animation with it is what drives me to make it available to anyone I can pester. So, the Render and Export section, on with the show.
In Lesson One I hope you learned how to use the Preview without Saving, the No Clear and the Execute and Export Images feature to actually view and automatically render or export your animation. In alot of very simple animations and after possibly modifying some individual frames this will be all you need to do to generate your animation. Press the button and go get a cup of coffee while the script magically makes all the frames and saves them to disk. But there is alot more functionality here that your creative processes can use to go beyond that.
You can render and manipulate each frame of your animation by entering a number in the SelectFrame slider or incrementely change the frame by pressing the F+ and F- button. Render the frame by pressing the PlayFrame button, this will draw and render every object in the frame. If the Best Render switch is selected the frame will be rendered in the Best Renderer.
You can also selectively add each individual object into the frame by pressing one of the Put buttons labeled Put_1 to Put_10. The Position, Size and Rotation of the object will automatically set according to what frame you have selected.
After you have placed an object onto the canvas with one of the Put buttons you can then modify that objects Position, Size or Rotation and then save that data for that Frame by pressing the corresponding Poke button. After this is done whenever the selected frame is rendered it will then use the new data to place the object. Sometimes when you have a bunch of objects that are moving together the interpolated positions etc... are just not exactly right, use this feature to fine tune the object. Also if you are using Stroke Positioning sometimes you will need to take care of little boo boos that result from the canvas or shakiness from the hand when you drew the brush stroke. But a BIG use for this capability is to morph an object! Let me explain this a little in detail.
For example I want to make an animation of some facial expressions on a head. To do this I would set up the object as I normally would. Perhaps I would want the head to move from side to side etc. I could go and do that. Now what I would want to do would be to go to each frame and use Zbrush to change the shape of the face a little at a time throughout the animation. Now since in each frame I will be changing the head a bit I won't be able to use the automatic press the Export and Save button. So what I need to do is this:
I could also use a separate layer for each frame, I believe there are 14 or 15 available layers in Zbrush you can use. Then after I finished the head animation I could then go to each of the layers and ExportFrame each one starting with Frame 0 so I would get the chance to create a new filename, then I would set the frame to 1. Since all the frames are now available in layers I would go to each one in sequence and just press ExportFrame and it will automatically increment the filename.
So, you can see from this example that you don't have to have the script automatically cycle through your frames drawing and rendering. You can build your animation frame by frame using the PlayFrame, Put, and Poke buttons and press the ExportFrame button to save the image to disk.
You can see also that it is possible using this procedure to build each frame in a separate layer and render each one at leisure. This opens up some good ideas in that by making some of the layers visible together you can create interesting effects as well. You can also take the layers and dup them, flip them horizontally, vertically or both and create a mirror of your animation which than can be rendered so that you have twice the number of objects moving around. Dup those 2 layers and you have double again!
Another idea is animate your 10 objects and render each frame in a separate layer. Then go back and create 10 more objects and use the Put buttons (so that the layer is not cleared as it is when you use PlayFrame) to add the new objects to old ones. You can keep doing this over and over until you fall asleep from exhaustion. Leave your computer on, sleep a few hours and come back to add more objects. I guess what I am saying is that it is theoretically possibly to animate the total number of atoms in the universe using my animation script, thou I expect that the screen resolution and image size of your canvas will have an effect on how many of them you will be able to see.
But you say, there are only 15 (?) layers available to me! When you get to the last layer, save your document using SaveAs in the Document Pallete. Then clear all the layers and continue on. If you need to get back to the earlier layers just reopen the old documents and they will be there. Unfortuneley, once you close Zbrush or load another Zscript all your Animation setup is gone, so don't forget that.
By saving each frame in a separate layer you can also go to each layer and add things or use painterly techniques to spiffy up the images.
Actually you are allowed to have 50 frames in this Master Animation Widget but here is an easy way to add on frames to an existing animation. For Example:
Now, after pressing the Swap button you could have taken your ball object and moved it to a new position on the canvas and pressed GetEnd to record a new End Position! Make sure you Press the LoadData button to put the animation into memory. Using this method you can continue a animation on forever by just swapping the Start and End and making a new End position.
This is where you find the LineDiameter slider mentioned in Lesson One. Setting this value will make all line objects used automatically in the animation or manually that diameter. As I mentioned the default line object is the 3DCylinder, if you wish to select a different object draw that object on the canvas and while you have it in an active mode (gyro visible) press the LineTool button. The script will now use this object for all line objects.
MakeLine - This is a little utility to manually create a Line Object on the canvas. Press this button and use the mouse to Left-Click drag from the Starting point to the Ending Point. When you let go of the mouse button a line object will then be created between these two points. It may be necessary (yep) to then place the new line object in active mode (gyro visible) and drag outside the gyro to fine tune its Zdepth position as the mouse will detect the surface of what you are trying to connect and not the true center of the object on the canvas.
LineFrom, LineTo, and LineToFrom - Use this feature to manually draw a line object between two objects in the animation frame. Enter the Object numbers in the LineFrom and LineTo slider and press the LineToFrom button to create the Line Object. In most cases you probably want to set the objects to automatically do this but in case you find a use for this here it be.
As mentioned in the Introduction you can set up to 6 lights to follow up to 6 objects during the course of the animation sequence. For best results use Point or Glow lights. Remember to set up each lights intensity and type before running the animation. Also you will only see the lights if you have Best Render Selected.
Note about Setting the Focal point of the lights:
This is all about controlling the direction that the focal point of the light will rest in relationship to the object that it is tied to. No matter where the object is in the animation the light will be placed in the direction of this point.
Use the Global Point button to set the light in the direction of the Global Point that you set using the NosePointer feature at the top of the script.
To use the Light Point button to set the direction take any object in active mode (gyro visible) and position it XYZ on the canvas. Then press the Light Point button to record this position. This feature allows you to have a different focal point for each object instead of the Global one above.
You can also set the focal point in the direction of another object in the animation by entering the Object value in the PointObj slider and pressing the Object Point button. For instance if you would like one object to act as a light source such as a sun set your other objects to point to it and it will appear that the light is always coming from the direction of that object.
Set Up a Light:
And in fact the end of this series of lessons for the Master Animation Widget. Hopefully if you have made it all the way to this point and actually played around with the widget you should have a good basis for utilizing it to make animations. And hopefully this documentation is intelligible to those of you interested in this script if you have any suggestions or wish for me to add some clarifications to any of this please I would appreciate the help and feedback. If I had alot of time to polish up this documentation and/or got paid for it I am sure it would be a little more professional but alas! so many things to do, people to see heheh.
Many many thanks to Pixolator and Davey not only for providing zscripts but for some of the technology and help that I have recieved from them. Code for Mouselook, NosePointer, moving lights, using Sections as buttons etc...
Happy Widgeting and may your animations never end!
Floyd AKA Digits
HomePage - Floyd's Void http://www.cyber-webs.com/Floydvoid
Z-Place - A Place for all things Zbrush http://www.cyber-webs.com/zbrush