There are thirty or so videos on the site and they cover all phases of the animation process, including modeling, lighting, materials and textures, dynamics, cloth, cameras, skeletons, deformers, and light effects.
I tend to focus on polygon and NURBS (curved line) modeling, but there is a small amount of attention paid to subdivision modeling, as well.
I am in the process of actively adding new videos to the site.
Please visit http://3DBuzz.co and take a look at them.
Each video is focused on a specific topic, area about 10 to 25 minutes in length, and are meant for beginners. The videos are also posted on my vimeo account.]]>
Since animation is being used more and more heavily to build highly interactive web 2.0/3.0 interfaces, I thought folks might be interested in a series of videos I am creating for the 3D animation classes I teach at the University of Colorado in Boulder.
The videos are on Vimeo.
They feature Autodesk Maya, which is by far the most popular professional quality 3D modeling, animation, and rendering application. Each short video focuses on one specific concept and they are very much meant for raw beginners:
As of today, January 29, 2012, there are five of them:
The entire set of videos can be found in my Vimeo account.]]>
There are two very different ways that computer programs can internally represent 2D images. The first is the way a computer display presents images – as a 2D grid of pixels, each with properties that control its physical appearance. We call this “raster” graphics.
The second is by using geometry. An image is represented with lines, some of which might be straight and some of which might be curved. We call this “vector” graphics.
But here’s something very important and very intriguing…
Note that a straight line can be represented unambiguously with two points, a start and an end point.
But a curved line is far more complicated to represent. It cannot be represented by a beginning and an end point – or at least we need more than this. Three points won’t do it, either. Or four. You can lay down a large number of points, and there will be many, many curves that can go through them all.
This is a core problem underlying graphics and animation.
If we design a house using only straight lines, we know precisely how to specify the location of every line in 3-space.
But if we want to design, say, a car, there will be a lot of lines that are not straight. Our car might have a lot of curves on it. For that matter, our house probably has curves, too, maybe in a half moon window or the water heater or the bottom of a pool or the air conditioning ducts.
How do we tell the folks who build the car or the house precisely how to make those curved surfaces?
Bezier was an engineer who designed cars in France and he confronted this problem – and came up with an elegant, simple answer, one that requires a minimal amount of information that must be passed from designer to builder.
More next time…]]>
I teach 3D animation and use Autodesk Maya, arguably the most popular, powerful, and complicated general purpose 3D modeling/animation/rendering application available. While there is a free and functionally complete student version, there is an investment of another kind – countless hours of frustration – that confronts the newbie. And if you want to use it commercially, the cost is in the thousands of US dollars.
Simple, cheap, but powerful.
There are of course simpler 3D applications, and ones that are dramatically more affordable. But I just came across one that is perhaps the perfect starting place for new 3D animators. It is a modeling, texturing, lighting, and rendering application only, and does not have animation capabilities.
It’s a significantly scaled down version of an application that is in itself surprisingly easy to learn, despite its wide span of capabilities, Strata Design 3D CX. While the full product runs about $700, the cheaper version is $50, and is called Strata Design 3D SE.
The SE version has a solid set of 3D polygon (straight line) modeling constructs, as well as Bezier (curved line) modeling primitives. It also has a very good renderer and a nice set of materials that can be applied to models. It is true, though, that some of the modeling, lighting, and rendering – and all of the animation – constructs of Strata Design 3D CX have been removed.
A crisp, clean interface.
Most importantly, its interface is very non-intimidating. Its design was apparently highly influenced by the interface to Adobe Photoshop. (The larger product, Strata Design 3D CX, has been built to interoperate tightly with Photoshop.)
Strata Design 3D SE is perhaps the best compromise between power and simplicity. It is a great place to start learning 3D modeling and rendering. It is scaled down enough to learn relatively quickly, but can be used to create professional-looking models and renderings. It is a lot of application to get for $50.
I should note, however, that while the larger commercial product comes in both Mac and Windows versions, I couldn’t tell if there is a Windows version of SE. (The Mac version can be bought at the Mac App store.)
If you are interested, my Maya class website is: wordsbybuzz.com]]>
(By the way, I teach 3D animation at the University of Colorado – feel free to download my class videos at: wordsbybuzz.com.)
3D modeling: it’s pervasive.
Powerful 3D modeling tools are becoming ubiquitous. They are used by artists, product designers, engineers, and scientists. In fact, a wide and growing spectrum of professions demand some knowledge of 3D modeling.
The first distinction: two kinds of 3D modeling geometry.
3D modeling applications use straight and/or curved line geometry. In other words, if you look at the outside of a 3D object, like a human or a boat or a caterpillar, it’s made out of things that are not at all 3 dimensional.
There are two basic ways this is done. The first is with straight line geometry, whereby the surface of an object is made up of flat, 2D polygons. If you make the polygons small enough, in other words, if you increase the number of polygons that make up the surface of an object, it looks smooth.
The other approach is to use curved line geometry, whereby the surface of an object is defined by taking curved lines and sweeping them through 3-space to make up curved surfaces. Polygon modeling calls for less computations by the 3D application, but isn’t as smooth. Surfaces made by curved lines create a more complex computational job for the 3D modeling application, but they are smoother.
Here are examples of both, using Autodesk Maya, an application very popular among artists who create animated movies:
The second important distinction: surface vs. solid modeling.
(Interestingly, all 3D objects, whether they are polygon based or curved line based -or both – have to be displayed, not as lines or polygons or surfaces, but as pixels on a flat 2D screen. Think about it. We’ll get back to this in a future blog posting.)
But right now, let’s look at a critical, high level distinction. With Maya, which is used largely by artists, objects have no “guts”. They are hollow. In fact, they aren’t really 3D at all, because their surfaces have no thickness. They are made up of shells that are infinitely thin. That’s just fine for the artist trying to create an animated character or an entire animated world.
Here are the same two spheres, but with infinitely thin surfaces put on them:
But other 3D users, like engineers, product designers, and scientists, need to model objects with guts. Their objects have to have insides. This is so that things like the overall weight of a product being built can be calculated. It also allows the modeler to estimate the distribution of weight, flexibility, cost of production, strength of materials, and many other factors. Medical researchers will use solid modelers, as well, to represent tissue and blood flow and the like.
We tend to associate surface modeling with entertainment, and we associate solid modeling with engineering and science.
Popular surface modeling and animation applications are Autodesk Maya, Newtek Lightwave, and the free Blender. Popular solid modelers are AutoCAD, SolidWorks, and AutoDesSys Bonzai. By the way, solid modelers tend to also support surfaces modeling.
We’ll look more closely at other issues relating to 3D modeling and animation next…]]>
I teach an introductory 3D animation course at the University of Colorado in Boulder. I am in the computer science department, and it is not a fine arts class. It’s meant as a 3D animation literacy course and demands no programming, artistic, graphics, or animation background. The goal of the course is to give students a solid, intuitive understanding of what it means to build 3D models, put materials on them, introduce lights, and then animate and render a scene. We also cover the basics of particle dynamics.
In order to make the course tangible, and to give students the satisfaction of building models and animating them, Autodesk Maya is used heavily throughout the course. It is arguably the most popular professional 3D modeling and animation application. During most lectures, I present basic concepts and techniques, and step students through the process of executing them with Maya.
Maya is an incredibly complex application and the interface is deeply layered, with many windows, menus, pallets, and tools. Professionals spend many years mastering it. I give students a single assignment, and that is to produce a basic 3D animated video from start to finish. This means learning the overall workflow of Maya. Also, because Maya does not have facilities for editing sound, images, or video, students learn how to use Maya in a larger workflow which includes other media management applications.
The twice a week lessons are posted at wordsbybuzz.com.
The videos on the website.
The website has a blog where I post my twice a week lessons. They consist of desktop and audio capture videos. You can follow along as I present simple demonstrations with Maya.
If you look at the videos, please understand that these are raw, unedited 1.25 hour long videos. If you have any background at all in 3D animation, these are probably not the right things for you.
I also have to say that I make mistakes, have to futz around while trying to remember how to do things, and periodically run across idiosyncrasies of Maya, a mega-application that has been incrementally built over the course of a number of years. So don’t expect a lot of polish. The focus is on concepts, not on how to be a professional Maya animator.
Each of the posted videos comes with a brief overview of what they cover.
Other things on the website.
I have also posted several other things on the website, including a library of existing videos, Amazon references to a number of very good professional Maya books, an overview of what I expect students to provide for their course project, and links to videos made by previous students in the class. I also post links to this blog (on techtarget.com), and links to my other university courses. Sometimes I post links to my fiction writings.
I am in the process of creating a tab on the wordsbybuzz.com site that leads to a research website that a couple of very talented graduate students have helped me build. It is a media management system, and although it is completely built, there isn’t any media in it yet. My goal is to get students from my animation classes to upload models, animated scenes, textures, video clips, and audio clips, along with references to the applications they have used to build their pieces of media. The site will also include documents that provide explanations of how specific pieces of media were created and brief explanations of specific modeling and animation techniques.
I hope to grow the website into a place where my students (and anyone else who wants to) can collaborate on the process of developing basic 3D modeling and animation skills.
Again, please keep in mind that these videos are for folks with no background in modeling and animation, and are directed at a broad class of students who have a wide variety of reasons to want to learn about 3D animation. It is a skill that many professionals in a broad and rapidly growing array of disciplines need to learn.]]>
One of the things I teach is 3D animation (using Autodesk Maya). I also happen to have had cornea transplant surgery in both of my eyes, as a result of a degenerative disease that caused my corneas to thin gradually, thereby losing their structural integrity. The corneas, by the way, are the clear outer surface of the eye.
This is the third blog posting in a series relating to the use of modeling and animation software to develop technology to assist folks with limited vision caused by deformed corneas.
Today, we look at using animation software to simulate the treatment of eyes diseased by keratoconus, the disease that affected my eyes. Keratoconus causes the corneas to thin and lose their structural integrity. Folds and bulges develop. Eventually, all you can see are multiple distorted, fragmented, and overlapping versions of everything you look at.
A simple treatment.
As it turns out, a short or medium term treatment for the condition, which works until the corneas become so thin that they absolutely must be replaced, is very simple: scleral contact lenses can be placed on the eyes, forming a sort of false corneas. I’ve been told that the same treatment can be applied to folks with astigmatism or cornea damage from a botched Lasik surgery.
As near as I can tell, this is why it works: As ambient light passes into the eye, it of course goes through the transparent outer surface of the eye, the cornea. If the slope of the cornea varies, the angle of refraction of light as it passes through the cornea will vary. But if a large contacts lens, one that covers the sclera or white part of the eye, is sitting on top of the cornea, it holds a layer of fluid over the cornea. This means that light passes through the contact lens, through the fluid, and then through the contact. Since the layer of fluid is close in density of the cornea, the angle of refraction remains more consistent over the cornea as a whole. Thus, a smoothing effect takes over. The light is refracted more uniformly before it passes into the eyeball.
Modeling the disease and the treatment with 3D modeling.
What does this have to do with 3D animation? If you have keratoconus or an astigmatism or a cornea damaged by bad laser surgery, this is a very cheap, non-surgical, and effective treatment. (An astigmatism is not a caused by a cornea defect, however, and I don’t fully understand why the scleral lens treatment works.) And, as it turns out, the optics of the treatment can be easily simulated with a 3D animation application, and this presents the possibility for refining the treatment using simulation.
How would this be done? The effects of an irregular cornea can be modeled by a sphere whose surface has been altered using deformation primitives. The effects of keratoconus lead to a distinctive shape of the cornea. Since the eye puts more pressure on the center of the eye, the middle of the cornea is pushed out into a cone shape – thus the name of the disease, which means “cone shaped cornea”. The lack of structural integrity also causes irregularities in the slope of the cornea in general. Ophthalmologists routinely take topographical maps of corneas and these maps could be used to create a simulated cornea within an animation application. (I use Maya in my research.)
The effects of a scleral lens laid over the cornea can also be simulated. Animators routinely model transparent surfaces and fluids, and can very carefully control the effects of lights going through surfaces and fluids. This means a program like Maya can model both the disease and the treatment. This is very exciting.
More on this next time…]]>
This is the second blog posting in a series relating to the use of modeling and animation software to develop technology to assist folks with limited vision caused by deformed corneas.
The problem with my corneas was that they were not smoothly curved. Why? Because my corneas had grown thin, their slope varied somewhat erratically. In other words, my corneas were not smooth like a basketball. There were bumps and folds throughout their surfaces. Thus, light passing through them wasn’t properly focused, the way it would be if it passed through perfectly spherical corneas.
Since my corneas didn’t do their job of pre-focusing light, my lenses could not do their jobs by completing the focusing of light. So, the world was choppy and filled with multiple, overlapping images. It was like looking through a kaleidoscope. The disease is called keratoconus.
An idea from the world of 3D animation.
In my research at the University of Colorado, I have been looking into the following approach. The overall idea is to create an inverted, deformed view that compensates for the distortion caused by a person’s irregularly shaped cornea.
The first step is to use Maya to create translucent hemisphere with varying slopes, thus simulating the effects of keratoconus. The hemisphere would be created by inputting a map of the varying slope of the user’s cornea. These maps can be quickly and cheaply made by using equipment commonly found in the offices of opthomologists.
The second step involves automatically creating a compensating view, by making use of deformer primitives in Maya. The way in which the deformer primitives are used to create the compensating view would be calculated from the topographical map of the diseased cornea. The view would at least partially undo the deformations caused by the diseased cornea.
In the third step, the individual with a deformed cornea could look through this software-generated view while looking at written text, webpages, images, and the like. This would be done by moving the material to be viewed into a Maya scene, and then rendering it from the perspective of someone looking through this compensating view. The user would look at this distorted version of the visual material, which for the user with the bad cornea, would look better than the original.
Rather than trying to compute the shape of a compensating, deformed view and then building this with Maya, a different approach involves allowing a user with deformed corneas to interactively deform their view by using Maya deformers.
First, whatever material is being viewed would be read into the animator’s design window in Maya.
Second, the user could manipulate the view until the material being viewed becomes viewable. This distorted view would then be used to create a deformation template that could be applied to any material that the user needs to view.
Again, in the third step, the material would be read into a Maya scene, deformed, and then rendered for the user to view.
And another approach.
There is a serious problem that complicates these two approaches, and that is that a weak cornea is, by its very nature, unstable, and so the deformities caused by it shift constantly.
So, another way to attack the problem involves simulating the effect of placing a large “scleral” lens that straddles most of the eye. We will look at this idea in the next posting of this blog…]]>
One of my motivations for looking at vision problems has to do with developing technology that can be used to aid people with limited vision make full use of the Web.
This time, I’d like to look at an issue that is specific to people with vision problems that cause angular distortion, as opposed to vision that is very unfocused or opaque. This was my problem. Before I had cornea transplants, my vision was perfectly clear and somewhat unfocused; the dominant symptom was that the world around me was fragmented into overlapping, broken images. People who have had laser surgery to fixed their nearsightedness, but where too much of the cornea was shaved off, can have similar symptoms.
Why are the corneas so critical to vision? The corneas, which are the clear outer surface of the eye, prefocus light for the lens. If the corneas don’t do their job right, the lenses cannot do their job.
It’s called Keratoconus.
My corneas thinned as I aged, until they were so thin they lost their structural integrity. If you look directly into the eyes of a person, you could consider the top-to-bottom axis to be “u” and the side-to-side axis to be “v”. The front-to-back axis could be consider “w”. Imagine examining someone’s corneas, in particular, looking up and down the u axis, and right and left across the v axis. If that person has normal corneas, the corneas have a smooth, spherical slope into the w axis. My disease caused the slope of my corneas to vary significantly at various points across both the u and v axis. This caused light going through my corneas to be refracted at widely different angles. This created a sort of kaleidoscope effect.
The challenge for someone with kaleidoscope vision is to extract an accurate mental image based on your shattered view of the world. This disease, by the way, is called Keratoconus, which is basically Latin for “cone-shaped corneas”. The name comes from one of the primary symptoms used to make a diagnosis: super-thin corneas tend to get pushed outward by the center of the eyeball, turning the cornea from a basketball to a football (or cone) shape.
The parallel between Keratoconus and 3D model deformation.
I teach an introduction to 3D animation class, and years ago, I noticed that some of the “deformer” effects available in Autodesk Maya, (the gold standard in 3D animation) could be used to simulate the distortions caused by my eye disease. As part of my research at my university, I’ve been experimenting with using deformation effects available in Maya to compensate for the distortion caused by Keratoconus.
A couple of examples.
Below are two sets of images. The two with red characters on a white background contain the integer 7, showing a common effect of keratoconus: multiple, overlapping images. The two with yellow characters on black backgrounds are the word “cow”, showing another common sort of distortion; in particular, one shows a horizontal distortion, and the other, a vertical distortion.
Note: You may have to click on the icons below to download the actual images.
In the next posting of this blog, I will describe some of the deformation effects in Maya, and how they can be used to actually compensate for the problem caused by Keratoconus.
Managing advanced forms of media, such as images, sound, video, natural language text, and animated models have been discussed a number of times in this blog in the past. Traditional information systems, such as relational databases, have been engineered largely to handle the sorts of data we have in business applications, primarily simple numeric and character string data. To the SQL database programmer, the nice part is that the data speaks for itself. If a field is called Name, and the value is Buzz King, the semantics of “Buzz King” is pretty obvious, and it can be processed in a largely automatic fashion. The same goes for a field called Age, with a value of “97″.
Searching advanced media: far, far more difficult.
But modern media is far more complex than this. ”Blob” data like images, and continuous data, like sound, video, and natural language text, are very difficult to search and interpret automatically. There are two approaches that have been taken to resolve this dilemma.
Tagging: the simple approach.
The first is tagging. Descriptive terms, often taken from large, shared vocabularies, at attached to pieces of media. These vocabularies can be very domain-specific, dedicated to areas like medicine, law, and engineering.
Intelligent processing software: the second approach.
The second technique is the automatic processing of pieces of media using image processing, natural language, and other highly intelligent software. These applications are very sophisticated and understood only by experts. And, these applications often demand a lot of processing time, and this makes bulk processing impossible. It’s also true that the results can be haphazard. Some pieces of media can be interpreted precisely, others not so precisely – and dramatic mistakes are frequent. A tennis court might be mistaken for an airplane runway. There’s a huge trust factor involved in cranking up image or sound processing software or natural language software.
Often, we can provide feedback so that these applications can learn, over time, the way we want media to be interpreted. We can help the software learn the difference between a tennis player and a member of a ground crew on a small runway. All of this is hugely expensive, in terms of the cost of developing the software, and in terms of the physical resources needed to run the software.
A middle ground? Not really.
So, is there some middle ground? Something simple, yet more “intelligent”? Yes, and the answer is to take a sophisticated approach to what otherwise might be very simple tagging techniques. However, the core problem with tagging remains: we search and process tags – and not the actual data. It is an indirect, but fast process. The goal is to come as close as we can to simulating the results of such things as image processing, but to do it with a simple, yet comprehensive, accurate tag-based technology.
We’ve looked at some of the solutions that have been proposed. They include Dublin Core, MODS, and MPEG-7. The first is very simplistic. The second is more sophisticated, in that the terminology used is broader and far more precise. The third is very aggressive in that it supports the complex structuring of tag data elements.
So, what are we really doing?
In essence, we build a hierarchy of metadata and then instantiate it for every piece of media we want to catalogue and later search. What we are doing is creating a parallel database, one where every piece of blob or continuous data is accompanied by a possibly very large tree of structured tagging information. The parallel database has its own schema and an instance of it is created for every piece of media in the original media database.
The end result? Instead of creating some sort of media-centric query language, like an SQL-for-video, we give up on trying to search the media database itself. The query language remains largely ignorant of the nature of blob and continuous media. We can continue to refine and expand the schema of the parallel database until search results are satisfactory.