Purple Orbs Tutorial

Lawrence Jaeger
9 min readOct 6, 2017

--

I’m going to break down the step to create my Purple Orbs Doodle, if you haven’t you can check the result out here — https://vimeo.com/237068300

We are going to move into Animation Nodes for this tutorial! You will need to have the addon installed for this. If you need to download it, you can get it here. Once you have downloaded the version for your OS, head to User Preferences, select Install from File and locate the download and install the addon. *You can also support Jacques Lucke on Patreon*

Alright, let’s get started!

Step 01

Start by adding a Landscape via the ANT Landscape addon. If you don’t have it installed, just head to User Preferences and search the Addons for “Landscape” and enable it. When you have done that, add a landscape and hit F6 and tweak the settings as shown.

Step 02

Next add a cube and move it up in the Z axis. This is going to be our particle emitter.

Step 03

Add a Particle System to the cube and adjust the Emission Number and set from Jittered to Random.

Step 04

Add an Ico Sphere and get the subdivisions to 1 and move it off to the side.

Step 05

Select the cube and in the Particles tab, under the Render tab, set it to Object, select the Icosphere as the Dupli Object and change the size and Random Size values.

Step 06

Select the landscape and add a Collision property and enable the Kill Particles option. This will do exactly what it says and kill our particles as soon as they hit the landscape.

Step 07

Add a Roundcube, you can find this by Add — Mesh — Round Cube. You will need enable the Add Mesh: Extra Objects if you haven’t already! Once you have added one, tab into edit mode and hit G+Z+1 and then hit ENTER. This will result in our pivot point being at the base of our Roundcube. Now just move it off to the side by the Ico Sphere.

Step 08

To make life a bit easier, change your Layout to the Compositing Layout and merge the bottom two windows. Next click the Animation Nodes icon and create a new Node Tree. Then we are going to add 4 nodes to begin with. Simple :)

To add the nodes you can hit CTRL+A and then just type in the names of the 4 nodes and lay them out like in the screenshot above.

Step 09

Connect the nodes as you see above. You will notice that when you connect the Locations from Particles Data to the Object Instancer, a Get Length node is automatically generated for us :) Add your Cube to the Particle Systems From Object node and add your Roundcube to the Object Instancer node. Make sure you deselect Alive from the Particles Data node as well and select Dead instead.

If you hit play now, you will see that as our particles hit the landscape, a Roundcube appears!

Step 10

We going to add some random movement to our cube now in the X and Y axis. Find some open area in your node tree in Animation Nodes and add the 3 nodes you see above and connect them up. Make sure to add the cube to the Object Transforms Output node. Then make the tweaks to the Vector Wiggle node highlighted in red.

Now that we have some animation on our cube emitter, if you hit CTRL+A you will see our particles fall from the cube and when they connect with the landscape, they die and a Roundcube is born. This is perfect! Let’s move on! :)

Step 11

Now head back to these 4 nodes in our node tree and select the Particles Data node. Once selected, hit N on your keyboard and in the side panel, find the Die Times output and enable it by selecting the eye icon. You will notice now that we have access to all the times each particle dies as it hits our landscape!

What we have at this point is awesome and is what I learnt from Jimmy Gunawan from Blender Sushi. The next steps is the part I came up with and I hope the way I set it up is correct haha but it works and that’s the main thing… right? Alright, lets keep going!

Step 12

What we want to do is for each instance created, we want it to scale up from 0. To do this we need to create a loop that will run through each instance and as it is created, initiate the animation. It’s not as complicated as it sounds and Animation Nodes makes it quite easy!

With the Objects Transforms Output node selected, hit W and choose Loop Through ‘Objects’. This is create two nodes. One will be the Invoke Subprogram node and will be connected to your Objects Transforms Output node and if you move your mouse you will have another node following your mouse called Loop Input. Just put it below your nodes you have there already. You going to have to create a list for all the Die Times to exist in. To do this just click the New Iterator on the Loop Input node and choose Float List. Now just connect your Die Times from Particles Data node to the Float List input on the Invoke Subprogram node. What we have now, stored within the Loop Input node, is a list of all the instances as well as a list of all their Die Times.

We will now be working from left to right, started at the Loop Input node! Whatever we run through that chain will affect each object.

*Don’t worry if your Loop nodes are a different color to mine. Each loop is a different color automatically so chances are it may be different, but that’s perfectly fine!

*I have just added in some reroute nodes to neaten up my node tree, it’s not going to affect your result if you don’t.

Step 13

We are going to add some nodes now that will simply animate our Roundcube! So when each Roundcube is born, it will scale up from 0 to a random range that we predetermine. So to do this add the 6 nodes you see above and connect them together. Things to change would be the range that we want the Roundcube’s scale to be and the animation type and the duration that it animates (in frames). So in my scene, I wanted them to scale up from 0 and then end up between 0.35 and 0.85. I set the animation type to Back and the duration to 7 frames.

You will notice that while plugging in the nodes they turn the same color as your Loop node! That is good news. It means that they are part of the loop and everything is on track.

When you press play now, you will notice that as the particle hits the landscape, a Roundcube is born and scales up from 0! It’s so cool!!

Step 14

Now how about being able to change the color of our Roundcubes as they scale up!! We can do things in Animation Nodes that affects our materials in Cycles. Let’s do this now!

Add the 4 nodes you see above and connect them up :) They will also turn the same color as your Loop node tree. Change the values as seen in the above screenshot or create your own :) The top Combine Color node will be the color that they start and the bottom Combine Color node will be the color they end up being. You can set the duration of the color change in the Animate Color node and also the animation type. I just left mine Linear.

We are basically setting the vertex color of the Roundcubes and then in Cycles we can get access to those vertex color and they will be animated because it’s being pulled from Animation Nodes.

Step 15

Now to set up our materials for our Particles and our Roundcube! Head over from Animation Nodes to the Material node network. You can create any shader you want for your particles. This was mine!

Step 16

Do the same for the Roundcube now. Create any shader you wish, just add an Attribute node and type in Col in the name and connect that up to any Color input of any shader. That is our animated color we set up in Animation Nodes.

Step 17

We are NEARLY done!!

Next, we are going to have our particle size animate over it’s life time so that the particles don’t just appear. To do this we are going to select our Cube and head over to the Particles tab. Scroll all the way down to the Textures tab and click on the first empty texture and click NEW. Name it something appropriate like Size over Life.

Step 18

Now click on the Textures tab and select the Particle System texture — Size over Life, or whatever you named it. Make the changes like you see in the screenshot above. *One thing that isn’t in the screenshot is on the Ramp, change the black alpha value to 1

Step 19

Scroll down and change the Mapping Coordinates from Generated to Strand/Particle. Also un-tick Time and tick Size. Now your particles will start off invisible and grow as they fall :)

Time for the last step, the grass!

Step 20

Select our landscape and add a new particle system to it and make the changes seen above.

Step 21

Now add Children to your particle system and change the settings like you see above.

Step 22

Now we are going to add the dynamics to our hair system. Tick Hair Dynamics and change the settings to the above.

Step 23

Select your Roundcube and add a Collision property to it. Change the Outer and Inner values to 0.150

*At this time I would recommend caching the Hair Dynamics. It may take some time, depending on your system, so be patient.

If you made it this far, thank you!! I know it’s been quite a lengthy process but I hope I have made things clear.

The last thing you can to do is create some grass geometry on any other layer. Make a few variations and then group them together with CRTL+G. Then in the Render tab of your Particle System, pick Group and choose the group that you just made. Select pick Random and tweak the size until you are happy.

That’s pretty much it! I hope I was able to break this down properly and please comment if you have any questions.

Thanks so much :) Happy Blending!

--

--