picture home | art | events | music | rack extensions | downloads | pixel blog

omino pixel blog

pixels, motion, and scripting
david van brink // Thu 2012.01.5 22:47 // {after effects}

AE: Omino Snake

A quick note about one of the plug-ins in the omino suite: Omino Snake!

It was written late one night for a specific purpose. I was doing some promotional animations for my friends’ Science Tarot deck, and got to “High Priestess, Benzene Dream” in which Friedrich August Kekule von Stradonitz dreams of a snake eating its tail. And this was the mystery of the benzene ring-shaped molecule.

I wanted the snake to follow along a path. So, Omino Snake wraps any layer along a mask path, like so:

The results can be a little bit “chunky”; Omino Snake just dices the source image into thin triangles and spreads them out. You can adjust the “draw step” parameter to step in smaller amounts to help smooth it.

You could do the same thing, more or less, by animating with the Puppet tool, but it would be a bit tedious.

And here’s a little demo of it in action.

oh, i dont know. what do you think?

Warning: Undefined variable $user_ID in /home/polyomino/omino.com/pixelblog/wp-content/themes/mimeo2011/comments.php on line 96


david van brink // Wed 2011.12.28 19:16 // {after effects}

AE: Omino Python, All Free

The Mac OS X version of Omino Python has been updated. An installer for it — and all my other After Effects plug-ins are in the downloads section here.

For anyone just tuning in, Omino Python is an After Effects plug-in that lets you write scripts to draw into a layer of an After Effects composition. It’s a lot like writing BASIC on your old Apple ][.

Changes to the plug-in are primarily:

  • Fixed a sporadic crash that could happen during text rendering.
  • No longer install any files in /opt/local or /usr/local. All gone.
  • Completely unlocked (no license needed for full use). Enjoy!

Here’s a frame from one of the example animations. This is a couple of for-loops in action.

And here’s the animation it came from.

And here’s the python source code.

5 comments
ChrisG // Sun 2012.01.29 19:327:32 pm

Hi. Been a long time since I started messing around with this plugin (and then left it alone because I had other things to deal with). Well, now I’m back on it. And I have found some really interesting things. However, I’m wondering if you are ever going to be able to add the feature of getting something OUT of the plugin — a property that can be used in an expression but goes in the opposite direction of what exists now. In other words, something that changes by the py script, but is updated by the script as a property (as opposed to the other way around, which is how all the props work now). Is this possible? Just putting one “out” integer property would be AWESOME. Thanks in advance for any response (and thanks again for the cool plugin).

david van brink // Sun 2012.01.29 20:018:01 pm

Hi Chris —
There is a way! It’s a bit strange but will work. Render out a square of some color made of values R, G, B, say at (0,0,10,10). Then in an expression, use layer.sampleImage, to read it back. Something like sampleImage([5,5], radius = [.5, .5], postEffect=true, t=time).

You can use as many color-regions as desired to pass more value triplets out. (And probably want to clip your work so these “utility areas” aren’t on the final tape…)

ChrisG // Sun 2012.01.29 20:068:06 pm

Haha. I’ve already done that. I’d like less of a kludge.

ChrisG // Sun 2012.01.29 20:158:15 pm

Sorry. Should’ve made mention of that in my original comment. But is it possible to add that to the plugin?

ChrisG // Sun 2012.01.29 20:168:16 pm

Oh, and while I’m here … what is the correct syntax to set_hint_metrics?

oh, i dont know. what do you think?

Warning: Undefined variable $user_ID in /home/polyomino/omino.com/pixelblog/wp-content/themes/mimeo2011/comments.php on line 96


david van brink // Wed 2011.02.16 09:19 // {after effects}

AE & Python

I was going to provide another example or two of Python scripting, today, but was sidetracked by a little bit of historical research on Python in After Effects. The examples will wait a little longer…

Useful Things

Yes, indeed, everything old is new again. Just about the time I started using After Effects, I had heard of “Useful Things”, but didn’t really know what it was. Turns out it was… Python Scripting for After Effects! It appears to have been quite well-regarded in the AE community, too. Alas, for whatever reasons, that product seems to have faded, been reabsorbed in the various business permutations that are a fact of life.

Omino Python for After Effects, by coincidence and parallel evolution, seems to resemble that fine product in some aspiring ways.

Grant Munsey

Going back even a tiny bit further, to 2001, we find that Adobe computer scientist Grant Munsey created open source Python bindings for Photoshop and After Effects, as well!

Reading about him, he was a great proponent of open source development, and was a driving force for establishing http://opensource.adobe.com/.

He passed away in 2005; I did not know him. But reading about his long illness, I was touched by this part of his wife’s account:

We’ve been using the mouth stick. It’s a 16-inch rod with a rubber tip on one end and on the other end a U-shaped plastic thing he bites on. He can then trace patterns and point to letters on the letter board — very slowly. I asked him what UNIX command you’d use for getting regular expressions from a text file, and he spelled “GREP”.

And forgive me if I find in this a dark justification for the oft-maligned brevity of UNIX commands.

1 comments
Rich Young // Sun 2011.02.27 17:395:39 pm

I think Grant also did an early plug-in set, Cognicon TILT. Later sold to Digieffects, TILT was an 3D system that did 3D displacement and imported 3D models using Quickdraw 3D from Apple.

oh, i dont know. what do you think?

Warning: Undefined variable $user_ID in /home/polyomino/omino.com/pixelblog/wp-content/themes/mimeo2011/comments.php on line 96



Deprecated: Function the_block_template_skip_link is deprecated since version 6.4.0! Use wp_enqueue_block_template_skip_link() instead. in /home/polyomino/omino.com/pixelblog/wp-includes/functions.php on line 6114

0.0254s
(c) 2003-2023 omino.com / contact poly@omino.com