Every tool in ZIVA VFX was purpose-built to fill the needs of character creators, and the Automatic Muscle Firing function is evidence of that. This capability allows creators to achieve natural muscle excitation results without any additional assistance from an animator or any inorganic shot sculpting. First, you must create a Muscle Fiber from a Maya object.
You’ll notice small lines going across your new Muscle Fiber object. This the “Fiber Field”. The orientation of the Fiber Field lines indicates the direction your new muscle will contract. Ziva will infer the correct fiber direction, but you can always alter the end point location or add endpoints, as needed.
On either side of the muscle object you will see a black vertex point and a white vertex point. These are the opposite poles of the object. The rest of the vertices are painted 50% grey.
At this point, your object will fire equally across its entire surface. However, if your simulation will benefit from having the belly of the muscle object excite more its ends or sides, for example, you can use the zFiber Paint tool to distinguish the lesser excitable areas.
Now that your muscle fiber is set up, it’s time to bring them to life! To achieve Ziva’s lifelike muscle firing, you can either keyframe the excitation or, if you already have animations prepared for the scene, use the “Line of Action” tool to automate the excitation.
Although keyframing can be useful for simple scenes and minor adjustments, you can simulate lifelike muscle firing automatically using Ziva’s powerful Line of Action command alongside your existing animation.
The Line of Action function calculates the distance between two points on an animatable curve to identify when muscle excitations should occur. You can imagine, if you were to put a point on your forearm and a point on your bicep, when the two points get closer together via joint bending, your bicep muscle will fire as a result. If the distance between point C and point B reduces by 10%, the muscle fiber will undergo roughly 10% excitation.
TIP: If modelled correctly, your muscle object should connect after the bone joint, allowing for it to be affected when the joint bends. You should be able to align the LoA Curve exactly with the muscle object. The flexible parameter settings in the Fiber Nodes should allow you to increase and decrease muscle firing effects without misaligning the LoA Curve with the muscle origin points.
TIP: You can add additional muscle fibres to your single LoA Curve by simply repeating points 6 & 7 with your second fiber object. You do not need to duplicate the curve.
The Position Sensitivity prescribes how receptive the muscle object is to the changes in LoA Curve length. As default, the muscle fires to the same percentage as the LoA Curve length shortens. However, you can increase that relationship ratio freely. We recommend tweaking this parameters rather than changing the location of the LoA Curve.
In the new zLineofAction Node in the “outputs” section of the fiber, you can change the “Position Sensitivity”. The sensitivity is calculated by multiples of the input, so 2 = 2x as sensitive. We recommend initially testing the default “Position Sensitivity = 1” results and adjusting by increments of .5, as needed.
The “contraction limitation” function, located on the Fiber node, sets a maximum contraction amount on your muscle. However, if the LoA length reduces 90%, you do not want your muscle to contract by 90%. We recommend changing the Contraction Limitation from 0 to anywhere between 0.3–0.6 for simulating lifelike firing results.
What causes the bicep to contract immediately upon starting simulation?Is it the painted area of the zFiber? Driven by the rotation of the elbow? I am trying to figure out how the zFiber works. Can barely see a difference when I turn it on and off on a test muscle. Haven't tried painting the weights yet. Thanks!
Can you explain what is the different between zFiber excitation setup with locator what we have in tutorial and setup with zLineOfAction skinning to 2 joints and connecting to zFiber. It looks same but just zLineOfAction have more setting to play with. And for biceps, when we move elbow back and forward biceps should become bigger and smaller, for this setup you will use zLineOfAction? But what if it not enough (shape is not become bigger enough, still looks too small) ?