|A CreativeCow.net Product Review
Kino Gil, noted film effects artist and host team leader of Creative Cow's Maya forum, gives his impressions of one "the best kept secrets" in Computer Graphics Imagery. He gives an honest view of some of the strengths and weaknesses of the system and concludes that Xfrog 4 for Maya 6 ''..one of the best and most powerful 'plugins' for Maya I have found yet.''
It has been called "the best kept secret" in Computer Graphics Imagery. It has also been called "secret weapon" and we know for a fact that the time-travel Garden and later the Plains sequences done by Digital Domain for Simon Wells' film "the Time Machine" (loosely based on his grandpa's homonymous book and which stars Guy Pierce and Uber-Thespian Jeremy Irons), would have looked quite different, if at all possible, without Xfrog's top notch simulations of growing, ageing plant life.
I call it one of the best and most powerful "plugins" for Maya I have found yet.
It's been almost two years since I reviewed "Maya: Secrets of the Pros". Inside that book a whole chapter is dedicated to recursive animation models, and their use in our life as animators and effect people. That's how I came to meet Xfrog from Greenworks.
Crafted by a group of people one is tempted to call either math-wizards, computer wizards, serious geeks or all the above, Xfrog has been up to now a specialized modeler of both strange and familiar geometries and an animator tool for either very natural or very UN-natural motions known mostly to high-end users and Technical Directors from Hollywood effects houses.
For example, moving the tentacles of an octopus is normally a kinematic nightmare, Maya or no Maya. You'd need to create spline-bones for each, and then move them, each one of them. I'll give an animator a week to make the creature and move it decently, but I'll be very lenient in geometry collisions and interactive reaction to geometry in that timeframe.
In Xfrog you would model the eight-arm structure with exactly two structures: a "branch" and a 8-output "hydra".
"Bam!" as the master Chef said.
Then, to animate, you need only apply some simple animation to the original path curve and the xform channels of the original "branch" arm and linked "hydra" to produce the most fascinating array of synchronized and un- synchronized motion of the eight tentacles. Softbodies and collision take care of reacting to surrounding geometry. Done. And you still have kinematics for say, the Hero" tentacle that holds the heroine...
Modeling and motion could take an animator an afternoon, tops, If playing with the thing does not take him or her all week anyway :) It is addictive.
Up to now you could create your beast or plant or alien building in Xfrog's standalone program (Xfrog 3.5) and then export the object as a DXF or OBJ file to use inside Maya, XSI or almost anything else. Greenworks had made the Maya Plugin available, to be able to play with the capabilities of Xfrog's models directly inside Maya.
But now they offer us a really integrated plugin in 4.0 than works seamlessly inside 6.x. You load it in Maya and you basically have the best of two worlds: Xfrog's recursive modeling and animation, with Maya's more familiar tools and tricks... and everything else.
The tool is deceptively simple. It adds Recursive Hierarchy logic to Maya, which is to say, it lets Maya combine its building blocks in alternate ways based on hierarchical structures, and it has special Rules to pass some or all the chosen characteristics down the hierarchy.
A starfish can become a balcony, or a cupcake, or a flower. Oh, Boy. I better take that by steps. Bear with me. As the guitar player said, excuse me while I kiss the sky.
RECURSION AND HIERARCHICAL PROPAGATION RULES.
Maya is no stranger to recursive stuff. Inside the humblest version you find PaintFx, the wonderful creature of Duncan Brinsmead which allows one to populate a 3D world with detail without more effort than applying oneself to it. Originally a 3D-paint tool of uncanny grace, it can now generate polygonal shapes. Xfrog is a bit like that, on steroids.
At the heart of both of these systems is the generations of forms and behaviors following relatively simple rule sets applied to a small number of elements in order to produce very complex transformations in complex element arrays. Modeling and Animation are naturally two regions where Recursive systems shine.
You create your structures in these systems much the way Nature itself operates. Branches, types of "branching" or subdivision, inheritance of properties from one element to the next in the "chain", and so on, while that "chain" itself is really a hierarchical structure. a parent-child relationship capable of transmitting behaviors, structures and shadings down the decision tree, so incredible complexities can be achieved simply and efficiently. Much like in Nature.
Greenworks has come up with a program of quite unique power. The standalone version sports the particular structure and inheritance of Xfrog and also provides 3D elements that can be grouped through the structural logic at the core to produce complete models that can be exported to any of a number of 3D packages.
Symmetric branchings radiating flat on a plane are called "hydra". Branching in three dimensions is taken care of by a structure known to all golf fans as one of the possible dimple distribution on the surface of a golf ball: the Phillotaxis or phi-ball, a name derived from what is usually called the phi-function, a math relationship prolifically found in nature and responsible for the distribution of pine nodes on a pinecone, or the spiral described by a mollusk's shell or the stacking of the "eye" seeds of a pineapple.
Recursive stuff immediately makes one think of Plant Generators, and both PaintFx and Xfrog are plant generators in a class by themselves: we all know the plant libraries in PaintFx, but the merest visit to Greenworks, the Germany-based website of the magicians responsible for Xfrog, will let you see accurate computer recreations of plants grouped by continent and topographic regions. As I live and work in Southern California, I was presented by Greenworks with a review copy of the company's "Cacti and Succulents of South western U.S.A.", a plant library of impressive detail in three different resolutions each variety, and one more of the the reasons Xfrog has continued popularity with the professional CGI community.
And that is the crux of my enthusiasm for this product. Two words: "Impressive" and "Detail". Both in crafting and in results.
XFROG INSIDE MAYA
Loading Xfrog is like having the recursive power one associates with Houdini or paintFX, namely with Xfrog, running around in the REST of Maya. Joking about programs on steroids is quite a temptation.
It all begins after the installation, a very simple affair, where one zip-extracts a few dll's to the Maya/bin dir and a few custom scripts yo your scripts/shelf dirs, the most notable of which is a new shelf populated with the few buttons that make all the magic go, so you do not have to remember new Maya commands unless you want to (which, of course, show up on the command history and are available just as the rest of MEL.)
Since the basic physical elements, object and curves and meshes, are Maya's own, you can replace, animate, emit, shade and tweak them as you would do any other innocent entity inside Maya, so it is very easy to get carried away and experiment your way into wonderful variations. What is new is the ways these elements can be made to interact in order to produce geometry or motion.
Here is a flower made in the first "Xf4 for M6" tutorial, where you learn the ease and power of this beastie, by carefully following the steps outlined. About half an hour's worth, plus shading (All texturing is handled by Xfrog, as far as UV sets. It is refreshing to see how powerful good texturing results are. And you still can mess with the resulting shaders.)
However, just replacing TWO curves (leaf profile and stem's path) and changing the flower's top from single ("head") to multiple ("child") links produced this example below, after changing the background color, the shader for the leaves' highlight and the camera position:
You see? All of Maya's quite respectable power becomes available to the logic of the new, powerful tools.
It not only makes plants. Buildings, space stations, aliens, are only the most obvious uses. Check out the Gallery at Greenworks to get an idea of the many wonderful stuff you could be adding to your scenes... or basing them on, because in Maya it is a snap to make all those great stills MOVE.
You are given recursive hierarchies as an amplification of the repertoire of Maya nodes, so what really happens is that Maya gains a complete set of new entities and rules for parenting and instancing of new basic recursive nodes.
CONTROLS AND INTERFACE
The controls for Xfrog4/M6 are really spare. As previously noted, the whole thing can be called up by a few buttons in a proprietary "Xfrog" shelf.
Two of the buttons on the shelf are for the loading and un-loading of the Xfrog plugin. Then you have the four or five Xfrog "basics", the building blocks of the whole thing: two geometry types and two branching methods, a "variation" and "tropism" buttons and a "panel" button, to call up the Xfrog command center.
Special mention to the "tropism" button, which triggers the kind of behavior that orients the leaves of different species of trees in relation to environmental influences like light, gravity or prevalent winds. Essentially a whole dimension of exploration, and another useful addition to the Maya rule-driven arsenal.
The "viewer" panel is the center of operation, basically a lister of Xfrog's brand of hierarchy-with-recursion, and buttons that allow you to set or break different degrees and kinds of the possible relationships in the structure, such as whether one element propagates "after" another as in "a single flower follows a single stem", or whether it propagates "along" another, as in "the thorns growing along the length of a branch"; whether a new branch will be a copy or a variation on the input and similar Xfrog basics stuff.
That is all.
Ok. Where is the rest?
Well, let's see:
The "rest" is... Maya.
In Xfrog "standalone" one gets a sheaf of primitives like cubes and spheres and toruses, besides the "horn" and "tree" creatures (horns are like tendrils, trees like... well... trees) and the more complex "attractors" besides a series of basic leaf shapes, revolution shapes and other stuff. One could rely on a sphere's lower-res, polyhedral cousins of 20 or less total facets to represent not-quite-round closed shapes like the vaguely cylindrical lobes of a cactus and also on matters of degree, like the resolution of a rootlet, to make it's character change from "scrawny" to "twisty".
None of that is required in the Maya version. You get NURBS spheres, and Poly spheres, sure, but also all manner of curves, softbodies, particles fields and all the rest of the Maya zoo. You want toruses? You can use animated booleans of spheres scooped out of a particle cube array if you are so inclined, or go whole hog with basic shapes which are in turn Xfrog structures made out of curves, particles and/or PaintFx brushstrokes. Miss the old attractor? Get a load on Maya fields. You can have attractors and repellers, colliders, fricators and a host of other stuff we can't find names for, all at your fingertips. Or mouse tip. Branch tip. Whatever. And there are Influence objects on top of that.
From trees to decision-tree spaceships and anything in between. Go on. You can have that headache pill now. I'll wait. Just read the label OK?
Where were we? Oh, yes. In detail, the very "branch" basic building block you get is something which resembles (or IS?) a NURBS cone, with ALL its Maya induced power and a special kind of "history" turned always ON, a hierarchical recursive history at that.
Look at the previous, Tree screen example: a Maya screen with Xfrog alive and well within. The WHOLE TREE is made up of a hierarchy consisting of FIVE elements: "Stem", "Branch1", "Variation" of Branch2 (a and b) and Branch3, the leaves themselves.
Replace a profile loop with a different shape, even with an open curve, and you get a result that not only makes sense, it is easy to animate by any of the old or the newly acquired techniques. Tweak the curve as a shape or as a keyframed shape change, get the geometry responding.
Change or re-build the curve and you get control over finer or coarser detail geometry. Parent elements to elements, in and out of the Xfrog-amplified hierarchies, make new friends, see new places. Get to create shapes and plants and organics so natural you'll want to water them, and strange new structures of alien... well... German and Brit mathematical beauty :)
As a note, the default values for all this marvels are sensible set for most systems: thin enough to let you get to basic shapes quickly but coarse enough so you get something interesting going even in the most modestly endowed of systems, which will be good news to everyone. Replicate the geometry through any of the tools, either Maya's or Xfrog's or both, ( say a "hydra" multiplied by a scaled "instance" of 20 nodes ?) and produce the most amazing geometrical choreographies of shape and motion with relatively very little system overhead for the things you can produce. A million polys is like a game for Xfrog, but you need to gage your system.
The kind of stuff that would take, well, a serious math-computer wizard/geek TD to dream, let alone code within reasonable budgets. Almost indecent power for the relatively small price.
OPEN ARCHITECTURE AND EXTENSION SOFTWARE: NEW POWERS
There is great elegance in something called "Open Architecture". That is a basic characteristic of the layout of the tool such that it is made to accommodate arbitrary re-arrangement of its basic elements to create multitudes of results. Something similar gives DNA its power as four basic blocks recombine ad-infinitum to make elephants, dogs, animators, starfish, lettuce, hibiscus and lawyers.
A properly designed "Open Architecture" system lets artists of the "designer" kind enter a world few touch and share that with everyone else. People whose art is in the amplification of the tool, not just patching up its lacks. In the prehistory of CGI, there was the "closed" or "school of the no keyboard, all mouse" heralded ad "ease of use" and bogged down by enforced linearity, and the "wide open" or "school of the hard-core keyboard", heralded as "macho power" and bogged down by the fact that not all animators who use computers care to know about the computer side of things.
Maya embodies the best of both worlds and recursion modeling and recursive animation are part of Maya's heritage. 3Design, the wonderful modeling program for what used to be TDI's "Explore" 3D package, acquired by Wavefront in the 90's had some of the recursion power of the Xfrog-Amplified Maya, although it could not pass on these capabilities to the animation/rendering stages but for object-interpolation, a superset of what Maya-speak calls "blend-shapes".
Maya has wonderful recursive potential, but most of us find the linear interface more familiar, and Alias needs to sell seats to bring in revenue, so there are almost no hooks to get to it, let alone the pre-coded libraries to make life simple in what really amounts to a very, very spiny node tree, to make a vegetarian pun, or something like it.
True. Potentially you can use the power of admittedly beautiful PaintFx to create poly shells that you can then re-create as NURBS and SubD's of variable density and then rig both or all three for alternate sets of kinematics...
But What If you had hierarchical parenting and inheritance rules fully usable INSIDE Maya and you were able to propagate ANY modification to your model or your animation from the tweaking of basic elements you know and trust such as a couple of CURVES in the outliner and get in turn sensible, texturable, mesh objects practically devoid of facet, vertex or point irregularity?
And in top of this you could get Maya's interface to handle a HUGE polygon model without so much as a flinch so you can precisely animate organic motion and model organic, nature-rule following plants, shapes and creatures?
And all this without learning new tools, just a new functionality from a library and a funny way of looking at the tools you know and use. And, as George Harrison said, "It's all in the head, you know?"
Maya is the quintessential Open Architecture system. Its very interface and the way it responds is not only customizable but built for flexibility. From the get-go.
The most useful "plugins" in such an environment are true extensions of the core set of properties and the best are really ingenious ways to achieve things that make Maya more powerful without sacrificing workflow or adding burdensome interface complexity to the user's end.
We are not talking here about complete sets of new tools grafted onto an API style hook, a scheme that has enormous popularity today, but of the vastly more powerful but far more difficult task of adding to the basic rules of a tool so that a complete new realm of functionality is available to the same preexisting toolset... by its very nature.
This is what Xfrog 4 for Maya 6 achieves, successfully and resoundingly so. By translating the Xfrog recursive logic into Maya, Greenworks has created not an additional bunch of commands that sit up, play dead and roll on cue but a fundamental extension of the Maya toolset functionality, so well integrated that one finds more and more uses for the new capabilities. Logo work, creatures, set design, props...
As a Maya user since version 0.something, and a Maya facility since 2.5, I am used to extensions in MEL and libraries that make life easier. That IS the point of Maya, which after all, is itself written in extensible, flexible MEL. That is the main reason Maya is pretty bottomless when it comes to power without constant heavy investment on additional code. MEL provides the functionality of native code to libraries that provide specialized calls.
Getting to that power quickly and being able to tweak with that realm... Ah! That's the rub. And incidentally the reason TD's are highly paid in Film and TV work. Greenworks has made a tremendous contribution to Maya users in all walks of the trade. From plants to abstraction, Xfrog gives new, fresh powers to the Maya tool chest.
Even tho Xfrog 4 brand of recursion and rule-based creation is tremendously cost-effective for everything from architectural decoration to architectural paradigm besides all the organic stuff, recursion-oriented software has been up to now the odd cousin, suited to Houdini users and fans of PaintFx like yours truly. The new plugin makes these powers easily available to the general Maya user.
Click here to see airplantWeb.mov
Nothing like an example. This animation test for my upcoming project "Arena" was produced essentially by creating this model as a three-level Xfrog chain and then keyframing the cv's of a SINGLE curve in the 3-level Xfrog... thing. There's some other stuff, some scaling in the spheres (two, Xfroggified) and changing rates in an emitter, but the main squiggly is only one curve. Like kinematics on crack, you know: This is your NURBS, this is your NURBS on Xfrog.
I often wonder what is the diet like at Greenworks.
However vast rule and recursive potential waited inside Maya has had to be coaxed piecemeal by all of us that find ourselves faced with a hundred places in production where effective recursiveness and hierarchy-based rules for modeling and/or animation would be killer or simply the needed solution beyond "set driven key" and "ad hoc" scripts.
Well, no more wishing or hacking up strange tools at midnight before the deadline.
Greenworks' Xfrog 4 for Maya 6 brings the user the enormous power of recursive and rule-based logic to structures and motion by making available a whole new way to use the Maya you know and love, with the added bonus of a really well thought out interface, model of elegance, simplicity and awesome power, not to mention programming skill.
In all honesty, augmenting the functionality of the toolset is not something everyone needs, but certainly anyone qualified by knowledge, need, level or circumstances will appreciate the power of the additional modeling and animation methods that become easily available through Xfrog's use.
If the standalone version of the code has proven its might in large facilities ( Digital Domain's The Time Machine comes to mind), the new, integrated version is a fantastic resource in a small facility, as it gives more power to a KNOWN and already powerful tool, which in terms of training and learning curve is really wonderful, but in terms of imagery-creation resources is like getting access to a whole other world where complexity flows from a few key places.
Bottom line is that Recursion and Rule-Based Hierarchies are here for everyone with a Maya license and curiosity. And I mean everyone. Xfrog lets you into a whole new power place with the same tools you already use. Think of that.
True Five Cow material. Highly, highly recommended.
Joaquin (Kino) Gil
Marina del Rey,
All article contents and images are ©2005 by Joaquin Gil. All rights are reserved.
Please visit our forums at CreativeCOW.net if you found this page from a direct link.