Open Source 3D animation - Linux Magazine

linuxpromagazine.com

Open Source 3D animation - Linux Magazine

Free 3D animationKNOW-HOWOpen Source 3D animationVIRTUALWORLDSYou need good software and plenty of CPU power to create virtualworlds. Luckily for today’s animators, powerful PCs are inexpensive,and some excellent animation tools are absolutely free.BY JOE CRAWFORDNot so long ago, professionalquality 3D animation requiredexpensive workstations. Thesoftware they ran, for example Maya(Unlimited Version), cost more than US$15,000 early in 2002, and the softwaretechnology was hidden behind restrictivelicenses. As hardware prices startedto plummet, the software prices stayedtoo high for amateurs at first, and thetough licensing conditions looked likethey were there to stay. For most people,3D animation on home computers wasjust a distant dream. More recently, withthe appearance of the first Open Sourceprograms, this situation has changeddramatically, bringing affordable 3DTHE AUTHORJoe Crawford is the proprietor ofJoetainment Enterprises/ CelestineStudios, a 3D graphics studio thatuses Open Source software. Joealso teaches various courses incomputer animation.graphics to the public, and opening upthe underlying technologies to let developersproduce a whole new collection ofapplications. The expression “7 degreesof freedom” was coined by the K3D project.It stands for the 6 degrees in 3Dspace and the additional freedom to distributeand modify source code. This articledescribes some of the best OpenSource tools for 3D animation.3D AnimationThe 3D animation process is shown inFigure 1. The process starts with modelingthe shape of the 3D object. The nextstage is texturing, that is, adding a kindof skin. This step gives the model a naturallooking surface with light reflexesand a surface structure. UV mappingprojects 2D bitmaps (such as woodgrains) onto the 3D surface; in its simplestform, this is like posting a bill onan advertising column. The 3D modelcan then be animated. In the rigging process,joints are added to the figure. Thejoints allow the artist to move a complexobject like a puppeteer moves a puppet.After completing the basic animationscene, the animator adds special effects,such as water, fire, or smoke. The sceneis then lit by positioning light sources,just like in conventional movie making.The post production stage is concernedwith optimizing the nearly-finishedproduct, combining it with the movie orvideo scenes, and adding a soundtrack.Normally, many different programs areused to create a 3D animation. First ofall, you need a program to create the 3Dmodels. In most cases, animation andrendering (conversion of finished modelsto photo-realistic images) are handledby separate programs. Rendering isso vastly complex that it typically requiresa specialized tool.Wings3D – SimplifyingComplex ShapesWhereas geometric shapes are fairlyeasy to construct, irregular or “organic”shapes, such as the shape of a hand or atree trunk, are a big challenge. Wings3D[1], which borrows from the commercialprogram “Nendo,” has established itselfas a specialist tool in this field. Its particularstrength becomes apparent whenW W W. L I N U X- M A G A Z I N E . C O MISSUE 62 JANUARY 200649


KNOW-HOWFree 3D animationFigure 1: The production process from the idea to the finished product.you need to model human beings or animals.Many years of development havemade Wings3D a hugely powerful butintuitive tool. A learning curve of just afew hours means that users can soon getstarted with the creative process.Although Wings3D is based on polygons,it gives the user the feeling ofmodeling in clay. The “Tweak” tool allowsusers to move control points in a3D space to gradually form the requiredshape. Also, Wings3D has many functionsfor dividing simple cuboids to createnatural looking shapes. To do this,you simply hover the mouse over themenu item. Pressing [Del] and the requiredhotkey then defines the link.Wings3D is basically restricted tomodeling and UV mapping. There are noplans to introduce animation features infuture versions. This said, Wings3D supportsa number of export file formats tosimplify the exchange of data with otherprograms. If you are interested in modelingorganic forms, Wings3D can hold itsown against commercial programs.Blender PowerAs of this writing, Blender [2] is the onlyOpen Source program package that coversall the steps in the 3D productionprocess: modeling, UV mapping,animation, and rendering of the finishedscene. It also has some post productionoptions and a special game engine,the only one of its kind in the 3Dsector.Another of Blender’s strengths is itsspeed, which is superior to commercialproducts. Blender’s Catmull-Clark subdivisionsurfaces,which createsmooth curvesfrom simple blockshapes, are particularlynoteworthyin this context(Figure 4), andBlender’s animationfeatures arevery quick.Blender usesOpenGL for thewhole screen display,even for theuser interface, andit utilizes thehardware accelerationthat today’sgraphics adaptersprovide. This gives users the ability toscale images or use transparency withoutthe display becoming too slow. However,the interface is overloaded and designedin a very unorthodox way. Insteadof menus and dialogs, Blendermainly uses subwindows that are full ofbuttons and slide controls. The interfacedesign lacks logical consistency. Evensuch simple functions as cut and pastetake some getting used to in Blender, asthey use [Alt]+[C] or [Alt]+[V], ratherthan the more typical [Ctrl] keys. This isdue to the fact that Blender was designedas an in-house solution for theNeoGeo animation studio.In 1998, one of the initiators of Neo-Geo, Ton Roosendaal, founded Not aNumber with the idea of continuing thedevelopment of the in-house tool nowknown as Blender. His goal was to releasethe tool as Open Source. Unfortunately,Not a Number 2001 folded due tofinancial difficulty, but donations madeit possible to purchase the Blendersource code and give it to the OpenSource community.Blender’s only disadvantage from itsproprietary history is the fact that theinterface is designed for professionalswho use the tool every day. This makesit confusing and even a little dauntingfor normal users. You need a lot of patienceto really leverage the power of thisexcellent program, which has to be oneof the most powerful Open Sourceprograms ever created. Due to the longdevelopment roadmap, Blender isextremely stable and has a large userFigure 2: Wings3D is hugely powerful despite the simple interface.50 ISSUE 62 JANUARY 2006 W W W. L I N U X- M A G A Z I N E . C O M


community that provides art,comprehensive documentation,and good support tohelp users combat any problems.K3D – the Future?K3D [3] is one of the more recentdevelopments in the 3Dgraphics field. K3D’s majorstrength is that it is a targetednew development based oncurrent experience. Professional3D developers wereconsulted to modify theworkflow to reflect professionalrequirements. K3D hasa hierarchical Undo/ Redo list,for example. What this basicallymeans is that after restoringa previous state andmodifying this state, you canreapply the changes that youmade after the state you restored.This would be a desirablefeature for most applications,but it is particularlyuseful within the creative designprocess.K3D puts particular emphasison defining the relationshipbetween the individualobjects in a scene. If you areanimating the human body,the parts of the model needto be governed by multiplerelationships to create a naturalimpression: when the figurestarts walking, the thighmoves at the hip joint first.Additionally, the lower legmoves at the knee joint. Bothof these movements overlap.In K3D, one object can controlanother object. Users cansave these interdependencies,thus creating customized programfeatures to suit theirown requirements.Development work on K3Dis by no means complete. Forexample, the 3D object modelingtools are not as matureas in Wings3D. However,K3D takes a different approach,which again paysparticular attention to objectdependencies. This approach,which is known as parametricor procedural modeling,means that changes to thebasic frame of a model areapplied intelligently to thecomponent parts. The developershave also designed amature plugin architecture toprovide a solid basis for futureextensions.At this time of writing, theprogram is at version 0.5(development) or 0.4(stable), and some criticalfeatures are still missing.Work is still in progress onbasic tools such as a scalingor rotating tool. The animationfunctions are hard to useat present. And as the developersare concentrating onquality rather than speed, itmight take a while for version1.0 of K3D to appear.The models that K3Dcreates are compatible withthe RenderMan specification,the industrial standard foranimation. K3D modelscan be processed usingprofessional renderingtools such as Pixar’s PhotorealisticRenderman. However,K3D is not restrictedto commercial products,as it also supports the excellent,and free, Yafrayraytracer, which can be usedto convert models to finishedimages. As the convincingdesign includes a clear-cutGTK2-based user interface(Figure 5), it is well worthkeeping track of K3D’s futuredevelopments.RenderingThe process of converting3D models to finished graphicsor animations is referredto as rendering. As the renderedresult is the only stageof the creation process thatthe audience gets to see, it isa very important phase. Andas rendering is, at the sametime, a very complex process,it is typically performed byspecialized tools. Of course,you do need to ensure a


KNOW-HOWFree 3D animationFigure 3: The Blender user interface with a finished model.seamless exchange of data with theother production steps.YafrayYafray [4] is currently the most powerfulfree rendering tool. Yafray can generateboth extremely realistic and highly stylizedimages. The way that light andshadow are applied has a huge effect onhow realistic rendering appears to theviewer. Yafray calculates the effect of lighton the model’s surface far more preciselythan other programs. It calculates softshading, light reflections, and refractionsbased on the Fresnel algorithms. It alsotraces the path taken by scattered rays oflight, or of light refracted by transparentobjects. This is known as “global lighting”or as “caustics.”Normally, the Yafray rendering tool isrun as an external program, however, itdoes have a plugin API that other programscan call; and Blender can actuallydo this to give users a more convenientand conclusive preview.Although Yafray is currently at version0.0.8, the features the tool implementsare sufficient to make it interesting forproduction work.The renderingquality is comparablewith that ofprofessional toolsthat cost manythousands of dollars.And thismakes Yafray, withthe exception ofthe far more basicinternal renderingtool provided byBlender, the onlyOpen Source renderingsoftwaresuitable for productionuse at thecurrent time.Rendering requiresa large numberof highly complexcalculations;this means thatrendering times ofseveral hours, oreven several days,are conceivable.Right now, the developersare workingon a fundamentalredesign that will additionally harnessthe power of the graphics card processor(GPU) for the rendering process.This should drastically reduce computationtime in the not-too-distant future.ToxicToxic [5] is a renderingtool basedon physically exactcomputations. Ituses the “BidirectionalReflectionDistribution Function”,among others,to produce excellentand extremelyrealisticimage quality. Inmany aspects ofthe rendering process,Toxic adoptsan approach similarto Yafray, however,it placesmore emphasis onphysical correctness.The aim is toachieve results that not only appear realisticto the human eye but also emulatereality in a mathematically correct way.Toxic uses its own, well-documentedXML file format. However, it can’t importscenes from other 3D packages, and thatmakes Toxic unsuitable for integrationwith the production workflow.AqsisAqsis [6] is characterized by the fact thatit provides the most complete supportfor the RenderMan standard syntax for3D model definition. This means that itis easier to create complex shapes withAqsis than with other modeling tools.Unfortunately, Aqsis does not supportraytracing, that is, realistic tracing oflight paths, at this time of writing. Thisdetracts considerably from the realisticappearance of the results. Aqsis is currentlymore interesting for developerswho need a free tool that supports theFigure 4: Blender with a model before and after applying Catmull-Clark subdivision surfaces.ScriptingTo help automate recurring tasks, graphicsapplications typically integrate ascripting language. Proprietary programsoften use proprietary languages,which users then need to learn (for exampleMaxscipt in 3D Studio Max).Open source applications are characterizedby the fact that they use widespreadopen standards, which give users withoutC or C++ programming skills easieraccess. Blender, for example, supportsPython scripting.52 ISSUE 62 JANUARY 2006 W W W. L I N U X- M A G A Z I N E . C O M


Free 3D animationKNOW-HOWRenderMan standard. On the upside,raytracing is on the developers’ roadmap,and development work on Aqsishas progressed quite quickly so far;Aqsis is an interesting proposition, currentlyat an early stage of development.Benefits of Open SourceAccess to source code is a big advantagefor professional studios and freelanceartists. Larger studios can modify thestandard software to suit their requirements.And even normal users can benefitfrom minor program hacks.One characteristic of computer graphicssoftware is that many features associatedwith the software are actually implementedas plugins. In case of proprietaryprograms, plugins are typically hard tofind, and you need to reinstall them witheach installation. In contrast to this, theOpen Source developer community tendsto quickly adopt the plugin source codeinto the mainstream program. In Blender’scase, many features started life as plugins.And the fact that real users help createdocumentation and tutorials takes theheadache out of learning the plugins thataccompany Open Source graphics tools.Conclusions: Open Source3D SoftwareThe future of Open Source 3D softwareis looking good. Many fantastic designsFigure 6: This image shows the Aqsis rendering tool’s potential for creating complex shapes.and realistic renderings have been producedwith Blender and Yafray. However,a number of issues remain unsolved.For example, there is a lack ofconvincing standard file formats to improvethe exchange of data between programs.And producing high quality 3Danimations still means resorting to toomany tools without standardized userinterfaces. We can hope that the experienceof a large and partly professionaluserbase, as well as the commitment ofthe developer community, will help tospawn the development of these missingpieces, as it has in many other OpenSource software fields.Finally, there are still a few gaps in theproduction workflow that leads from theinitial 3D modeling phase to the releaseof a finished movie: professional studiosstill use proprietary tools for post-productioncutting and scoring. Projectssuch as Jahshaka [8] or Cinelerra [9]might close these gaps in the near future,allowing studios to handle thewhole production cycle for computergenerated movie material with opensource software. ■Figure 5: K3D has a clear user interface based on GTK2.INFO[1] Wings3D project: http:// www.wings3d. com[2] Blender homepage with documentationand various resources: http://blender. org[3] K3D (online documentation available):http:// k3d. sourceforge. net[4] Yafray: http:// www. yafray. org[5] Toxic renderer: http:// www.toxicengine. org[6] Aqsis: http:// www. aqsis. org[7] Povray (Documentation, Community):http:// povray. org[8] Jahshaka: http:// www. jahshaka. org[9] Cinelerra: http:// heroinewarrior. com/cinelerra. php3W W W. L I N U X- M A G A Z I N E . C O MISSUE 62 JANUARY 200653

More magazines by this user
Similar magazines