Procedural particle emission that creates semi-molecular chains growing from each other.
The growth can be restricted to a certain boundary shape (half a torus in this case) and can be driven by a curve.
I developed the idea while doing some r&d at Gravity studios Israel.
What’s going on here?:
What you see are 2 particle systems:
One system for the “spheres” – the pivots of the structure, and another system for the hinges that connect those spheres.
The 1st system is connected to 6 instancers which build each side of the sphere and the rim.
The 2nd system is connected to one instancer building the pistons of the structure.
Basic flow of simulation:
Create 1st sphere -> check possibility to emit new spheres in all directions (is there enough space?, what is the max possible distance?, is it inside the bounding mesh?, at what time should it happen?) -> emit new spheres and emit their connections while driving relevant animation of the needed instance -> mark sphere dead -> repeat for every new sphere.
Effect: The structure efficiently uses all available space and creates really awesome structures.
Can you have the script?:
Yes and no. The script is currently UNDOCUMENTED, UNFRIENDLY, it will NOT work on its own (you need to have all the systems, particle expressions and shits for it to work), and I will NOT give any support for it.
If you download the scene and look at the scripts, you will understand why.
If there will be a demand from nice people, i might consider creating an emitter plugin for the same effect which will be nice and friendly.
That said, if you are still interested, feel free to download the scene file for the animation containing all the scripts (Maya 2013): Download No. of downloads: 128
By downloading you agree to the license:
Evolving Emitter by Amit Rojtblat is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
It does not include the caches, for obvious reasons.
WARNING: For those of you who dont know it yet, Maya for windows handles memory in a very shitty way – when it needs more of it, it asks windows to assign it some, but it never reuses the same location in ram thus spreading over more and more ram. And this script handles a lot of arrays, so one run of it from 0 to 600 will eat around 2Gb of ram. its NOT my fault, I promise i clear all my arrays. You have been warned.
If you like it, please share it. Thanks, I love you
var _gaq = _gaq || ; _gaq.push(['_setAccount', 'UA-34905496-1']); _gaq.push(['_trackPageview']);
You must be logged in to post a comment.