Taking Shape (pardon the pun)

The project continues its slow development and iteration, and I have been learning a lot about this process. There are things that I have understood intellectually for some time, but now in the the thick of it, I truly “grok” those things. Such as there needs to be a balance between ideas & inspiration, and preparation & organization. That the importance of iteration cannot be understated. That discovery and serendipity lead to greater learning, and learning leads to discovery and serendipty. That it’s okay if you’re not coding 8 hours a day – what’s more important is that SOMETHING happen. Sometimes when I’m stuck on something or feeling uninspired or motivated, I do a little bit of learning – tutorials, research, and the like. That usually leads to getting the brain going so that in a few hours, I’m good to go and have a rush of productivity. Plus I learned something I can use.

This past week, I was iterating on the parallelogramme project, and had a very happy accident. I have been focused on replicating the Processing project I did last year, which I referenced in the last blog entry. I was running into a problem where the parallelograms neeeded to spawn completely surrounding the viewer, instead of in one place.


This is what was happening – they would eventually spread out due to each having its own randomly assigned speed, but I didn’t want this to be how it started.

The problem I was running into was that, for some reason, when I tried to randomly distribute the parallelograms around the viewer, each one’s own rotation also changed. But the more I looked at it, the more I liked it.


All of the parallelograms are circling the viewer, but each one has its own random rotation as well.

This was much more visually exciting, and in VR would be even more so. So I took this moment of serendipity. It’s one of my favorite words and concepts, and it’s something I talk about in the first week of every class I teach. Even a perfectionist like Stanley Kubrick (my hero and prime inspiration), who ruled his set with an iron hand, knew and appreciated the value of serendipity. Good lesson.

Good lesson because immediately I wondered about letting each object’s rotation continue instead of freezing in that state. So I took it a step further, and knew I was onto something good.

It’s subtle, but it adds that much more visual interest and activity. I also added lighting and shadows. There will be more to come with that aspect, but right now I’m primarily focused on just getting it to work. I have a lot of ideas for how things will eventually look and even a progression from simple coloring to something more interesting. For example, I experimented with transparency:

I’m not completely sold on it, at least as it appears here, but again there’s a lot more going on visually.

Speaking of visually and learning new things, there’s an add-on to the software I use for developing this thing that lets me construct shaders and materials without a lot of programming. Shaders and materials are what tell an object how it responds to light – shiny or dull, reflective or not, transparent or opaque. Beyond that, shaders can actually move the points that make up a shape so you can do more sophisticated movement with it without rigging it and animating it. Again, learning this tool has inspired some new ideas about where I can go with this. Here’s what it looks like to construct a shader in this add-on:

Screen Shot 2017-09-27 at 8.20.53 PM

The add-on is called Amplify Shader Editor, and it is incredibly flexible. It doesn’t take long to understand, but you can get lost down a rabbit hole of experimentation once you do. That’s a good thing!

There’s also a very interesting tool for simplifying the development process called GameFlow that offers a nice blend between visual scripting and an adherence to the component-based concept Unity uses. It’s pretty easy to learn compared to the other visual scripting tools out there, and while I haven’t decided if I’m going to use it for everything, it’s certainly fun to play with.

Rabbit holes, people. Rabbit holes.

4 thoughts on “Taking Shape (pardon the pun)

    1. I’m sorry 😦 That’s why I use Facebook – it seems to be the best way I can get the word out. At least you found it, and if you click the “Follow” button in the lower right hand side of the blog, you’ll get updated whenever I put up a new post!


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

About jjjolton