home about gallery publications education links contact


..::vine::..

Believe it or not, this is a relatively simple effect to implement for this type of object (for other more complex objects, see the Tips column). Each vine tendril should, in this example, be a spline so that when it deforms around the surface of the object it does not squish the tendril mesh. If we had used a mesh, the deformation used to drive the main effect would compress and smear out the mesh around the deformation like rubber, which would ruin the end effect. By using a spline we can keep the cross section shape intact as the spline will only become geometry at the top of the stack and/or at render time, therefore the deformation modifiers would only affect the shape of the spline, not its cross section geometry.

As we require multiple vine tendrils to encompass our sphere, and we need them all to be affected by a single deformation, we can simply set up the basic array of splines by creating a single line with two vertices, collapsing it down to an Editable Spline, then creating multiple copies of the Spline sub-object, so we get a circular array of lines when viewed from the Top Viewport. Simply applying a deformation at this point would yield no great result as we only have a couple of vertices in a single line – one at the top and one at the bottom. Therefore we need to add a substantial amount more, however we still want to be able to modify the original vertices should we ever need to. As not to be destructive, we can simply apply a Normalise Spline modifier and set it’s Segment Length to a low value which will place vertices at small distances from one another. Therefore, should we need to amend the length of the spline by amending the position of the vertices in Editable Spline, we can do so and the Normalise Spline modifier fills in the gaps accordingly.

The next thing we can do is to simply apply the deformation required to displace the spline around the object, but this would look a bit uniform. Therefore we can add additional modifiers, such as Twist, to get the splines to curl around a little. In addition to this, we can also add a Noise modifier to break up the smooth shape of the vine. Finally, to add the deformation around the surface of the object, all we need to do is to apply a Displace modifier, set its mapping to Spherical and sizes to double that of the radius of the sphere (we may need to reposition the Displace modifier’s Gizmo). However, when it comes to animating the effect we will encounter a problem.

Simply moving the spline setup also moves the deformation, so it is not locked in place. We therefore need a way to get the displacement to stay where it is while the splines pass over the surface. The easiest way to do this is to apply an XForm modifier beneath any deformation modifiers and above the Normalise Spline modifier as this will allow us to reposition the splines without affecting its co-ordinates and therefore will not reposition the displacement’s gizmo. As a result, we have also locked the additional deformation modifiers in place, so it appears like the splines are growing in an erratic fashion, with the end result appearing like the tendrils are growing upwards and not travelling upwards. Reposition the XForm modifier above the Twist and Noise modifiers (but below the Displacement modifier) to see the difference in effect! To top it all off an additional Noise was added to the top of the stack to break up the effect a little more incase the original Noise deformation was lost due to the displacement.

The resulting effect is effective, however does still appear too uniform. In the additional version of the scene (the rendered example illustrated at the top of this Q&A - included on the cover cd, but not covered in the Steps opposite due to the amount of space required) I have detached each spline to a single object (so they have the same axis co-ordinates), but have used instanced modifiers across each object to make for easier editing apart from a unique Noise modifier for each one, each with its own seed.

Enlarge Screenshot Create a Geosphere in the Top Viewport in the centre of the scene with a Radius of 75 and 8 Segments. In the Front Viewport, create a Line that runs through the middle of the Sphere as illustrated.
Enlarge Screenshot In the Top Viewport, select the Spline sub-object, relocate and clone the spline sub-object several times to create an array of splines as illustrated. Open the Rendering rollout and enable Renderable and Display Render Mesh. Set the Thickness and Sides to 8. Turn off Optimize in the Interpolation rollout.
Enlarge Screenshot Add a Normalise Spline modifier to the stack and set its Seg Length setting to 3. Add a Noise Modifier, enable Fractal, set the Iterations to 3 and Strength to 20 for all axes.
Enlarge Screenshot Add a Twist modifier and set its Angle to 720 and Twist Axis to Y. Add a Displace modifier to the stack. Set the Strength to 83 and Decay to 1.3. Set the Map type to Spherical and Length, Width and Height settings to 155. Relocate the modifier’s Gizmo if necessary so that it is overlaid on top of the Geosphere.
Enlarge Screenshot Add another Noise modifier to the modifier stack and set the Strength to 10 for all Axes. Go to the Normalise Spline modifier and add an Xform modifier so that it inserts it between the Normalise Spline and Noise modifiers as illustrated.
Enlarge Screenshot Move the XForm modifier’s gizmo vertically down so that the top of the splines are beneath the Geosphere. Enable Auto Key, go to frame 100 and reposition the XForm modifier so that the top of the splines are above the Geosphere. Assign materials and enable motion blur as desired and render off the animation.
Enlarge Screenshot The final animation shows the red ball being encompassed by the tendrils, deforming over its surface. The tendrils are unique with instanced modifiers – see the additional scene on the cover cdrom
Download the max file! Zip file to accompany.

..::tips::..

This surface is quite simple to deform the tendril objects around due to its shape being that of a mapped object. For more complex surfaces we are going to have to do a bit more work to get the effect looking right by using multiple deformations to affect the right shape; a sculpted FFD cage should be enough to generate the desired result, or multiple ones to get the spline to conform to the most tricky areas.

In order to get the FFD cage working correctly, we can get the cage to conform to the shape of the object we are trying to get the spline to grow around. This is generated by applying the FFD modifier to the object and enabling Conform to Shape. This modifier can then be copied and pasted in the spline(s); it may need its lattice reorientating and relocating depending on the orientation of the source object, but the end result can be simply deformed to get the splines to pass over the surface. Alternatively, try creating an FFD space warp cage and deform as necessary – when the spline is passed into the FFD cage’s lattice, it will deform as necessary. This can be enhanced by linking it to the source object and animating the position of the source object as well, thereby generating the effect of the vine opening up to swallow the object!

There are additional deformation tools that we could use, but are not suited for the result we are trying to achieve. Conform, for example, is either a compound object or a space warp. The compound object type would seriously smear the spline geometry right across the surface of the object we are trying to conform to, whereas the space warp gives a slightly better result although forces the conform to one planar direction with no control over sub-object selection falloff to reduce the strength of the effect the further away from the object we progress.

Initially published: 3D World magazine, Issue 61, February 2005.

Copyright Pete Draper, February 2005. Reproduction without permission prohibited.

www.xenomorphic.co.uk