Today I’m stretching my use of the word “code” to include memory hacks.
There exists a memory technique called the Roman Room, or Method of Loci, in which you associate information you want to remember with specific places in a house or building you know. For anyone who has better recall on spacial data or visual imagery, it’s ideal. That’s me in a nutshell.
It’s not difficult to load Python scripts into Blender’s text editor, but there’s something reassuring about just getting them to populate in the space bar menu.
How do you get Blender to do that, you ask?
You make your script into an add-on.
Alright, take a look at the two versions of Starry Night above. They look the same, right?
There’s a Shel Silverstein poem in one of them. It’s chilling out in the different red values of the pixels in the upper left hand corner on the second Starry Night. I love this method of hiding messages.
If you convert letters into numbers, you can use those to make pixel color changes that are pretty darn subtle. Then when you send your encoded image to anyone with the original, they can use Processing to pull the message out.
I’ll level with you. I rarely need to manipulate specific pixels in an image, but when those occasions come along, it’s a massive pain in the neck. One that’s preventable with Python. So here it is. A quick starter guide to coding pixel by pixel adjustments.
mouseMoved() never seemed like a particularly useful tool in Processing until I started experimenting with different timeline set-ups. Turns out, it’s marvelous.
The human mouth is kind of a bastard. Animating it frame-by-frame requires a patience that I just don’t have. Blender has shape keys that can help you mold lips into different configurations for each sound, but you still have to set keyframes to match up with a particular word at each and every frame.
Or you can be lazy. Like me.
Getting coordinates to scale properly to Blender units has been extremely frustrating for me since I started attempting more 3D maps. So, finally, in a fit of rage this weekend, I wrote a function to do it for me.
It scales the latitude and longitude down along the Z (height) and X (width) axes, taking into account the size of a base map oriented along those axes. In my version, it places a sphere at each coordinate set, but that can be easily changed to other objects.