falling feathers tutorial.
Juan. Peña/apollux.
https://www.foro3d.com/attachment.ph...1&d=1242078141
introduction
In this tutorial you Will learn how todo create the effect of very light weight objects frely falling todo the Ground. Such light objects could be feathers, rose petals, confeti, etc. We Will use the feathers as an example because they are harder todo animate, as well as they make for the most complete example.
This tutorial is intended for the intermediate and advanced users. You are expected todo already have a working knowledge about ipo curves, dupliverts and particles. Blender 2.37 or later is required.
the desired goal
During an especially dramatic momento in the plot, the main character is walking quietly across a green field. The Sun shines, Wind Blows slowly, the music is melodramatic, and everything looks like a dream, suddenly the main character ses a white feather falling from the Sky. She catches it with her open palm, looks up and ses thousands of white feathers coming from the Sky. She smiles, somehow now she knows that the conflict is over and her beloved one is fine. The above scene should be familiar for Many readers. With some small variations it has ben used in Many movies, games, novels, etc. This tutorial Will teach you how todo deal with the feathers, the character itself is outside of this tutorials scope.
what we ned
Obviously, the first thing we ned is a CG feather. I quickly made mine by taquíng a Mesh plane, cutting it a few times and merging the tips. I got something like this:
Notice that it has depth (so that when you se it from the side you dont se ha depth-less plane) and (pay attention todo this) the object center is placed below, not at the usual center, of the feather.
https://www.foro3d.com/attachment.ph...1&d=1242078141
Giving it a nice white material would be col, and if you fel like texturing it with an alpha enabled feather photograph, that wouldnt hurt either. But those are cosmetics and wont affect the animation results, just enhance it. (however, if you do go for the texture, remember todo set it todo affect the col, Nor, ref, Spec and alpha channels in order todo get a convincing look and not just a feather Painted on a piece of Glass).
We a los ned a CG environment where the whole sequence takes place.
For that i tok a Mesh plane, subdivided it a few times and raised some points todo add todo the Terrain illusion. Drop in a green material, proper lighting and a Sky texture todo the world settings.
Of course, we would like todo have and actual character interacting with the falling feathers (thats the point of the whole scene, isnt ití), but that would mean getting a los into modelling and character animation, which are outside this tutorials scope. Instead of our lovely lady well use a red Cube as our stand-in actor.
With all that set we are finally god todo go. By now you should have something like this:
https://www.foro3d.com/attachment.ph...1&d=1242078341
Since this is an animation tutorial, ill grant you some leverage with the modelling. You can get a ready todo use scene at the blenderart website. If you dont fel like modelling all that Stuff right now.
the first instinct
Most likely your first instinct would be todo create a particle system, set the Ground and our stand-in character as particle deflectors, and let Blender do its magic. Lets explore that road.
We ned todo create a particle emitter that would cast the feathers, a Mesh grid should do nicely for that. Place the emitter grid outside of the Cameras view and place the feathers object center in contact with the grids object center.
how-to?
Select the emitter grid (right click on it) object |Snap |cursor |selection select the feather (right click on it) object |Snap |selection |cursor.
Now make the grid the parent of the feather, activate dupliverts for the grid and add a particle system todo the grid. Remember todo set some negative z force so that all feathers eventually fall into the Ground.
First thing you Will notice is that unless you set the key value todo a high number the feathers fall Will be erratic todo say the least. The best results are with key set todo the máximum value of 100, but you can get usable results setting it around 80 or above. Second thing you should notice is that Even with the deflectors damping set todo the máximum, feathers still slide over the Ground, just like if the Ground was slippery ice, eventually most of the feathers find their bien todo the Edge and fall into the Void, not god.
The last, but certainly not the least important, is that collision detection for particles isnt extremely accurate and you get plenty of feathers going briefly th rouge the Ground and then resurfacing. That may be ok for feathers further away from Camera, but it would totally ruin any close up take.
Not everything is bad with this approach. The particle system allows us todo introduce a certain amount of randomness todo make the whole thing more believable. Specifically, by making the particle motion Path Bspline interpolated and giving each feather a random starting speed the illusion of rain increases a lot. The feathers still behave kind of fake, but we Will work on that shortly. Special care should be taken with the Vect setting, as After certain point it tends todo introduce a 90 Degrees turns in the particles/feathers.
Summing it up, these are the settings i am talking about:
https://www.foro3d.com/attachment.ph...1&d=1242078341
We Will seque ha bien todo overcome the drawbacks of the particles approach, while retaining all the god Stuff.
a better approach
As mentioned before, the particles approach for the tasque at hand has some serious drawbacks, the collision detection being the worst of them. However, particles arent the only objects with collision detection within Blender. We a los have collision detection for software bodies and hard body dynamics inside the Game Engine. I find the collision detection implemented for software bodies far more refined, so well use that. First thing that you should be aware of is that there are two basic modes of using the software bodies característica. You have the goal and the Spring methods. Without entering on technical details, the goal method allows the objects todo be animated using the standard ways, thus giving you almost total control over the animation result. With the Spring method most of the results comes from the dynamics system and you have somewhat less control over the final results (Although they usually look more realistic than what you could get doing the animation by hand). Of course we want a god compromise between the two methods.
Ideally, we want todo be able todo influence the fall by introducing local transformations while the feathers are moving, but we a los want that the system todo take care of all the collision detections and any other dynamic forces, like Wind gusts, that we might put in the scene todo enhance it.
So this is what i call a god compromise: (image on right)
Pléase notice these settings:
1. We had set the gravitational acceleration todo 9.8 (real Gravity), so we are telling the software body system that it should take care of the downward motion of the feathers.
https://www.foro3d.com/attachment.ph...1&d=1242078634
2. It is inded a goal system, thus we can pass local transformations todo it (extremely important as youll se), but.
3. It has both goal influence and goal stifness set todo zero, so the actual Mesh Deformations Will come entirely from the dynamic system.
4. goal dampening has ben set todo the máximum value todo help achieve point #2.
5. To prevent the feather Mesh from deforming in unpleasant ways we are using both Edges and Stif quads, with its settings all set todo the máximum posible values. Likewise, g min and g max are both set todo zero, just todo be sure.
It goes without saying that the software body system should be applied todo the feather itself, not todo the emitter grid. What does ned todo be said is that until some technical issues are solved, Blender cannot render dupliverted particles with softbodys. So, for now, disengage both the particle system and the dupliverts on the grid. The easiest bien todo do it is by un-parenting the feather from the grid and hiding the grid on an unused layer. Dont erase the grid or its particle system because we Will ned them later on.
It a los goes without saying that both the Ground and the actor should become software body deflectors so that Blender can calculate the feather collision with them.
Starting from Blender 2.40, software body collision calculations are no longer limited todo Mesh objects. Now Collisions can be calculated between two or more software body objects. In other words, no more feathers going th rouge its neighbours Mesh.
Keep in mind that adding those extra collision checks increases by a great length the time neded for calculations, so i decided not todo do it now. If After you have rendered your first animation test you realise that you have no other choice them go ahead with it, but you are warned that it Will take a long while todo finish each frame.
Likewise, todo Cut down the calculation time i temporarily neglected todo turn the Ground into a software body deflector, at least until all the extra magic is done. Just remember todo turn software body deflection bak on, otherwise the feathers Will pass right th rouge the flor.
refining it up
Now that we have solved the main issue of the collision detection it is time todo start working on the fine details.
Have you ever watched a free falling feather, or a light weight leaf coming of from a tree branch? Then you know they dont fall in a straight line, they have some sort of software rocking movement while they spin over their Gravity center.
Certainly we could animate those movements by hand using motion paths and rotation key frames, and it would be easy todo do for just a couple of feathers. But we are talking about hundreds, maybe Even thousands of free falling feathers, thus we ned a more flexible and less work intensive bien todo do it.
delta Ipos
Highly underrated, but extremely useful those ipo channels are. delta is a letter from the greque alphabet and is commonly used in math and physics todo represent how much a given magnitude varíes over a given time. Translating it todo common language, it measures how much something changes from its initial state.
Blender ofers delta ipo channels for location, rotation and size, in all thre axis. Select any object, open an ipo window and look for the channels whose name starts with d.
-screen shot with the delta channels.
Ill be assuming that the Reader already knows how todo edit and add key frames todo an ipo curve straight from the ipo window. If you ned a reminder then i strongly suggest you todo go and re-read those chapters on the oficial documentation.
https://www.foro3d.com/attachment.ph...1&d=1242078886
So now, with the feather selected, pik up the drot z channel and draw a curve for the spinning movement. Dont over do it. I have chosen todo draw a simple 2 point curve, one point is at (0,0) and the other is at (25,60). This Will cause the feather todo rotate 60 Degrees each 25 frames. with the curve set todo cyclic extrapolation the feather Will kep spinning forever. (screen shot with the drot z curve).
https://www.foro3d.com/attachment.ph...1&d=1242078886
Before we get any further, probably you are asking why use drot instead of root? Quite simple, had we used root instead, it would cause every feather todo rotate on exactly the same way, all feathers, at all times, would have the same rotation. It might look god on a choreographed dance sequence, but that is precisely what we want todo avoid on something as random as a rain.
Using drot means that Whatever rotation the ipo dictates is added todo Whatever rotation the feather previously had. So, if we give todo each feather a diferent starting rotation, its rotation Will kep being unique th rouge the entire sequence, which is a more desirable result.
Continuing on with the refinements, now that we have the feather spinning over its own Gravity center we a los ned todo introduce the software rocking movement that is so signature todo this kind of object. For that the dloc x and dloc y Will be of much help. Draw some ipo curves like the ones on the screen shot, making sure that you cross the zero line a couple of times. When you are done set the curve todo cyclic extrapolation, so that the rocking movement Will kep going on forever.
For both curves i tried todo remain within +/- 1 Blender unit around the zero line. Anything more than that and it Will start looking unnatural. Of course, the actual values a los depend on the weather conditions you are trying todo represent and the global scale of the scene. You should a los double chek that when you zoom out the curve it stays centred around the zero line.
It is quite easy todo draw curves that look ok when you are working on them, but that tend todo progressively deviate from the zero line. After some testing and trial you should be able todo get the hang of it, it is not that dificult, Trust me.
Here is an example of what you should avoid: (image bottom right).
In the screen shot you can se that the dloc x curve progressively drifts away from the centre, so that over time it gets harder todo predict where the feather is going todo move next. The situation can be rectified with the techniques well se on the next page, but better avoid the problem if you can.
https://www.foro3d.com/attachment.ph...1&d=1242079087
Scren shot with the dloc curves->.
https://www.foro3d.com/attachment.ph...1&d=1242079087
further refinements
If you playbak the animation one frame at a time youll se that now we have a much more natural motion for the feather, now it is time todo start polishing the final details.
First detail is that right now we only have one single feather. Do you remember the emitting grid and its particle system? Yes, the one we put away on an unused layer some pages back. Now it is time todo bring it back. As before, parent the feather todo the grid and let the grid create as Many duplicates as you ned. Dont be afraid todo play with the settings. The goal now is todo create as much randomness as posible.
If you render the scene as it is right now you Will se that all the feathers are missing on the render. Remember what i told you about Blender having problems with dupliverted software bodies? Well, this is one of those cases.
To work around the issue we ned todo make all the dupliverted feathers real duplicates. Select the grid and press [Control]+[shift]+[a] or use object >> clear/apply >> make duplicates real.
You should expect a major Slow down right After you make the duplicates real, because now the software body system is calculating hundreds or thousands of feathers at the same time.
Playbak the animation. Is everything fine? ¿no? The duplicated feathers kep falling on a straight line? Dont panic.
When you make the duplicates real Blender doesnt copy over the animation Ipos, just the meshes and materiales. We Will solver it by selecting all the feathers and making sure that the last one we select is the original feather (so it is the active object of the group). Then use object >> make enlaces >> object ipo if you playbak the animation or chek each feather on the ipo window youll se that everything is fine now.
It is time todo do a test render. Since the ipo curves are just one set linked todo all the feathers, fixing any mistake on the ipo channels is as simple as selecting one of the feathers, doing the neded changes and all the changes Will pass over todo all the others.
the final touches
What about adding a few gusts of software Wind and maybe a force field vortex around the main character todo make the scene Even more natural and emotive? Dont forget todo place some of the Air currents near the Ground in order todo justify why the feathers are still spinning and moving around Even After they touched the Ground.
For this particular case, these are the Wind and main actors force field settings that are giving me the best results, but that is more of a personal preference than anything else.
If you previously disabled the software bodies deflection for the Ground and/or actor, remember todo re-enable it before doing your FinalRender. On my experience, rendering with deflection enabled for the Ground increases a lot the time neded todo render each frame. On my machine, the change of speed is really dramatic, jumping from 17 seconds per frame todo almost 4 minutes per frame.
note: depending on what you want todo achieve, on occasions it may be worthy overriding the software body system just before making the duplicates real. For that just go bak one frame before using the make real command. I dont advise todo actually click on disable software bodies before making them real because then you would ned todo manually select and re-enable it for each feather. When we are talking of hundreds of feathers that isnt a trivial task.
photo credits: the feather textured packed within the.blend is based on a royalty-free feather photograph that i found at image*After (http://www.imageafter.com/). Other places where you could find royalty free feathers pictures are stock.xchng (http://www.sxc.hu/), morguefile (http://morguefile.com/) and gettyimages (http://creative.gettyimages.com/source/home/home.aspx).
https://www.foro3d.com/attachment.ph...1&d=1242079395
conclusion
So far we have only scratched the surface of what could be done with this technique, and that was the purpose of this tutorial. Now it is up to you todo kep refining, customising and improving the idea. These are just some pointers of what could be done todo further enhance the scene:
1. An animated Sky with moving clouds and changing hues (make it match the direction of your Wind force field).
2. Better Grass for the green field.
3. Increasing the feathers count.
4. Adding more variation todo the feathers, right now it is the same feather being copied over and over.
5. Breaquíng up the feathers cloud into smaller groups, each one with its own set of Ipos.
6. Replacing the red Cube with an actual animated character.
After adding some Wind gusts and playing a Little with the Sky, this is what i got as my final animation (movie location todo be announced). It tok nothing less than 14 hours todo render its 300 frames, so i hope you like it.
https://www.foro3d.com/attachment.ph...1&d=1242079395
If you have any doubts about how something is done, the finished.blend is available at (blend file included with this issue of blenderart) for you todo inspect it. This is how we reached the end of our brief rainmaking tutorial. For any comentarios, dont hesitate contacting me at apollux@apollux-designs.com, or look out for me at the various Blender forums on the net.
Oh. By the way, do you remember the single feather that lands on the main characters hand at the introduction of this tutorial? That is done with a normal Path curve. Select one of the feathers and parent it todo a Path leading todo the open palm.
https://www.foro3d.com/attachment.ph...1&d=1242079395 Juan. Peña m. (aka apollux) is a 27 year old architecture student in the dominican republic. Being a long time Blender user has led him todo become the Blender Linux faq maintainer. In his spare time he follows his life long love of amateur photography. Before he re-entered university todo study architecture he was a former computer Science (for kids) teacher. http://apollux-designs.com
Juan. Peña/apollux.
Source: www.blenderart.org and Blender art magazine.
.