Halloween Costume ideas 2015

EXPERIMENTAL / Perfume Drives Duplicate Futurism

I stumbled into this short music video the other day:

Benga - I Will Never Change
https://vimeo.com/39760586

Really interesting effect, don't you think? An array of black record discs on a pipe appears like in stop motion. Simple, but still eye-catching. And this is that kind of moment when my brain sparks a little creative desire... let's try to replicate that effect in Blender! (someone just got to do this).

THE REQUIREMENTS
What we need:

00. Blender
Obviously, download latest built of Blender. You should already have one installed.

01. Music/sound to drive the motion.
For the sound, let's use Perfume-Global project:
http://www.perfume-global.com/

02. Drive motion using that music.
This is: "piece of cake", this feature is built in Blender.

03. Duplicate Futurism add-on.
Oscurart created add-on that creates snapshots for animation.
http://www.blendernation.com/2012/01/16/add-on-oscurart-futurism/

LETS DO IT

1. Setup a simple scene. Let's just use Suzanne, keep it simple, been a while since you see this monkey. I'll keep it really raw and simple. I was going to use Cycles, but maybe just use Blender Internal Render will get the idea across.
Quick test with arrays.
I squeezed the monkey head so it is as thin as a disc.

2. Import the sound (any WAV type of sound) and apply as motion.
I use Empty as dummy object. The motion will be mapped from sound WAV. First, you need some keyframes on the attributes you want to be controlled by motions. I will key the scale attributes.

Once you have animation curve, you can import and bake sound into it:
Key - Bake Sound to F-Curves.

NOTE: If you want to listen to the sound while it is playing, you import the sound into Video Sequencer.


All good and you should be able to see the Locator scale controlled by the sound wave.

3. Set Drivers Key
Now, I will apply the motion from empty into the monkey head. I will try to remap the sound so it goes from the current min and max into the new min and max. Say, if the original wave sound make sounds from 0 to 1, I want the new value for monkey scale from 0.2 - max.

4. Forward Motion and Other Variations
I'll add forward motion to this setup so when it got converted into array of duplication, it will not overlap. You can add more variations perhaps like rotations.



5. Do Duplicate Futurism (and Cautions)
Before applying duplicate futurism., we gotta think first... I got a little "gotcha" here.

First of all, the monkey head itself is quite high density. Now if we were to duplicate this monkey head many times for the time range. I have around 1500 frames based on the wave I am using. I like I could I ended up with billions polygon...!?!

(well, I actually I did try and duplicate this monkey head 1500 times, and what happen is Blender and whole system collapsed. don't make the same stupid mistake)

So, the solution is either you use image plane cardboard monkey with normal map (so it still looks 3D-ish), or you use simpler object. I was thinking that maybe Instances would work better in term of memory handling. It is quite possible.

NOTE: Using cardboard is not a bad idea actually because you could easily replace the texture of cardboard and perhaps add more variations this way.

Anyhow, I will go back one step and replace the monkey head with a disc and duplicate it 1500 times... it may take a while for that many duplicate futurism.

Once you got the setup, adjust the STEP (how many duplicate samples every frame) and HOLD attribute values of Duplicate Futurism so that you have all the duplicates nicely created, just the way you want it to be. Maybe you need more or less.


That is all about what you need to do to create the effect. From this prototype to final polish, it will take a bit more time. See what else you can do with such effect.

(while this article published, I am still rendering 1500 frames....)

UPDATE 2012.04.15
Apparently there is another way of achieving this. As suggested by Liero, it involved using Array Modifier and Curve Modifier. Seems to be a more procedural way to do this without having to "bake the animation". I have not tried this myself, but worth looking.


UPDATE 2012.04.16
Alright, I tried following Liero's suggestion and it is quite successful and actually much more robust. I actually added this information right after I wrote another article post (right after this post).

So you may need to read the other article and come back to this if you don't understand fully what I am talking about here.

  1. Start by baking sound into a curve.
  2. Create 3D Curve based on baked F-Curve. Use Liero's UnBake add-on script. Make sure you turn on that Radius option.
  3. With the Curve ready, you can simply apply this as Curve Modifier into your Array.
  4. Your object ---> Array Modifier --> Curve Modifier --> Array of Objects with Modulation
Got it? Thanks to Liero. I would not thought of this otherwise. I could go Particle Instance way, but this seems to be the most simplest and cleverest way.

Monkey Head Modulation.



Example from Liero:


By conclusion this post title should be:
ARRAY COPY MODULATION USING LIERO UNBAKE ADD-ON

UPDATE 2012.11.29

Now here is a quick trick you may want to try using Array Modifier. See if you can create this rotate duplicate array below:

Quick 3D array modeling for a company called Triggar in Australia.

How? This is actually very simple:
1. You first have the original object mesh, which is a flat polygon circle mesh in this case.
2. Next, you apply Array Modifier and then you use an Empty as Pivot for duplication. When we use other object as reference for duplication, Array Modifier can do a lot more. Apart from the Empty becomes the pivot, and also it becomes the iteration of Transform (Move, Rotate, Scale).
3. For this one, I set the Empty at the 0,0,0 location and rotate it 30 degree and then duplicate it 12 times to get full 360 degree array duplicates. 

Post a Comment

MKRdezign

Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget