Morphing with keyed particles in Blender 2.8 [ENG]
In this tutorial in english for Blender 2.8 we will see how to create a small morphing animation through a path of keyed particles, that is a list of particles systems that in succession can create a flow of entities that changes its shape according to the properties of the blocks crossing. A particles system controller will then be created in which there will be a list of one or more "container" particles systems.
For example, we will try to realize this brief little coarse animation to illustrate some basic concepts:
So let's start blender, we delete lamp, cube and camera. We set the World color lighting to black
We select the "Wireframe" display mode, to lighten the computational load and improve the 3D View animations
The "emitter" object:
We create a cube and scale it up to 24 meters, confirm with CTRL + A the scale, and call it "Cube_emitter", because it will be the one that will start the particle emission.
In the front orthographic view (key 1 on the numeric keypad) we create a camera, which we set with "Focal Length" 75 in the Object Data tab of the Properties Window. Then in the right orthographic view (key 3 on the numeric keypad) we position the camera near the side of the cube.
We created this scene, with the big cube that includes the camera, to give the impression that the particles converge from the whole surrounding environment towards the first text of the animation.
The "container" objects:
With the 3D Cursor in the origin of the axes, let's position ourselves in the front view and create the text "GPProduction" giving it depth in Object Data > Geometry with value "Extrude" 0.08 and "Depth" 0.01.
convert the Text to Mesh with the function, from the top menu of the 3D View, Object > Convert To > Mesh from Curve / Meta / Surf / Text
Change view in "Camera", scale the text by pressing S, confirm with CTRL + A, and position it on the screen (moving it along the X and Z axes)
In the same way we create an inscription "presents ...", which we will call "presents" and which we will place at the same level as "GP production" in order to create a morph between two texts placed in the same position,
and a text "a tutorial", which we will call "tutorial", which we will place at the bottom right. In the "tutorial" object, already transformed into mesh, scaled and confirmed with CTRL+A, we will also create a "monkey" mesh, slightly rotated clockwise
For the movement of the ball, we create for now an icosphere, to which we will leave the name "Icosphere" and place it on the right of the first two texts
Now let's create the two Particles System: "Container", which will be associated to all the objects through which the entities will pass, and "Emitter", which will initially generate the particles and will also have the function of controller.
The "Container" particles system:
We select "GP production" and in the "Particles" tab in the Properties Windows we create a particles system which we call "Container". In reality it is not a container but a particular configuration of particles system through which the moving entities will pass, but from a visual point of view we can think of it as a kind of container in which the group of moving particles will take shape
In the "Particles" tab it will be set:
- "Number" (number of particles issued, transited): 10000
- "Start" and "End": 1 so we will immediately have all the particles available
- "Lifetime": 160 frames (that is, the particles will be visible throughout the animation, which lasts 160 frames)
- Source> Emit From: "Faces" (if we want the contours of textes and Suzanne to be well defined) or "Volume" if we want to give body to the object (to emphasize the set of particles, as in the animation we have created )
- Velocity > Normal: 0 m / s, Field Weights > All: 0, Physics > Physics Type: None to eliminate any physical influence on the particles
- Render> Render As: None and Render > Show Emitter unchecked, because it will not have to display particles emitted by the single container, but only those of the emitter, and why the container that would have the function of emitter in this particles system will not have to be rendered .
We select the text "presents", in the Particles tab we create a particles system, but we select, with the drop-down menu, the "container" particles system
we do the same with the icosphere, creating and selecting "container".
Keeping the icosphere selected, we duplicate it by pressing the SHIFT + D keys, thus creating another 9 icosphere "Icosphere.001", "Icosphere.002", "Icosphere.003" ... "Icosphere.008", "Icosphere.009 "
Always checking that the "Show Emitter" option is not checked
The "Emitter" particles system:
We then select "Cube_emitter" and in the "Particles" tab in the Properties Window by pressing the "+" button we create a particles system which we call "Emitter"
"End" is set to 1, so all the particles (10000) will be present instantaneously according to the required modalities, while the Lifetime value is 160, that is they will be visible during the whole duration of the animation.
We want the particles to come from all parts of the cube, so in the Source panel we set Emit From: Volume, with a random distribution by setting Source > Distribution > Random .
Still in the "Particle" tab, to be sure not to be influenced by external forces, we set Velocity > Normal: 0 m / s (thus zeroing out any emission speed) and Field Weights > All: 0 (so as not to be influenced by forces ). To display the particles in the animation rendering, we set Render > Render As: Object and Scale: 0.01.
So we create an icosphere in Object Mode with Subdvision: 1 to try to save on the number of vertices
we set the scale transformation equal to 0.52, confirm with CTRL+A, and position it outside the camera view and call it "the_particle"
we create a simple, unpretentious material for the icosphere, which is a mix of a "Principled BSDF" with "Base color" E7C800 and an "Emission" with EAFF8C color
Reselect the big cube "Cube_emitter" and in its particles system in Render > Object> Instance Object we select "the_particle".
We avoid that the cube is also rendered in the animation, removing the check for "Show Emitter"
Now let's create the list of particles systems, connected to each other, that will have to act in succession. So, keeping the "Cube_emitter" selected in the "Emitter" particles system, select in the sub-panel Physics > Physics type > Keyed and in "Relations" we add a particles system by pressing "+"
in "Target Object" we select "Cube_emitter", since at the beginning all the particles contained in the cube volume will have to converge towards "GP production"
As you can see below there are some parameters:
- System: which indicates which particles system of the selected object we are considering
- Time: indicates when the entities will arrive in the particles system considered
- Duration: indicates how long, in frames, entities remain on the current particles system before starting to move to the next one
With the same method we index the particles systems and select all the objects of the animation path and for each we set the time and duration values:
Cube_emitter (Time: 0, Duration: 0)
GP production (Time: 25, Duration: 25)
Presents (Time: 75, Duration: 25)
Icosphere (Time: 110, Duration: 0)
Icosphere.001 (Time: 111, Duration: 0)
Icosphere.002 (Time: 112, Duration: 0)
Icosphere.003 (Time: 113, Duration: 0)
Icosphere.004 (Time: 114, Duration: 0)
Icosphere.005 (Time: 115, Duration: 0)
Icosphere.006 (Time: 116, Duration: 0)
Icosphere.007 (Time: 117, Duration: 0)
Icosphere.008 (Time: 118, Duration: 0)
Icosphere.009 (Time: 119, Duration: 0)
Tutorial (Time: 130, Duration: 15)
Cube_emitter (Time: 155, Duration: 0)
We set 160 frames as the limit of the animation, giving this value to "End" in the "Output" tab of the Properties Window
In the timeline, by clicking on the |< button
or the SHIFT+LEFT ARROW shortcut keys, move to frame 0 and press the SPACE key to start the simulation that we will now examine.
As for the time value, note that the "Start" value of the relative particles system in the timeline adds an offset to its "Time", so a frame of difference will be added to our animation.
In the simulation we started:
from frame 0 to frame 25 the entities start from the volume of the Cube_emitter up to form the text "GP production"
From frame 26 to frame 50 they remain in "GP production", the text is completely formed at frame 51 (so 50 + offset 1 as was said before).
From frame 51 to frame 75 there is the morphing of the word "GP production" in "presents ..", which reaches its shape at frame 76.
From frame 101 to 110 the particles group together to form the icosphere (complete at frame 111)
So the entities pass (quickly) through the icosphere.001 at frame 112, through the icosphere.002 at frame 113, through the icosphere.003 at frame 114, through the icosphere.004 at frame 115, through the icosphere.005 at frame 116, through the icosphere.006 at frame 117, through the icosphere.007 at frame 118, through the icosphere.008 at frame 119, through the icosphere.009 at frame 120,
from frame 121 to frame 130 the sphere expands and turns into "a tutorial" (completed at frame 131)
and finally the final explosion from frame 147 to 160, when the particles will spread throughout the Cube_emitter
Once the emulation is over, we can create the animation itself. In the Properties Window in the tab Output > Ouput > File Format we choose the png sequence as format, to be able to divide the rendering job in more times or to resume work in case of crash,
and start the animation with Render > Render Animation in the main menu or by pressing CTRL + F12
So in this tutorial we ended up seeing the making of an animation created with keyed particles in Blender 2.8, a very powerful tool even if it has to be used carefully, choosing a number of particles high enough to define well the objects we want to represent, but at the same time limited to avoid running into computational problems. In any case, enjoy using it to give a special touch to monotonous presentations, or in VFX or in cartoon fantasy. Happy blending!