It’s that time of year again. Update time. A quick review: since the last time I posted, I joined Dreamworks to work on their Oriental Dreamworks pipeline. Due to the constraints of the job, I felt that posting on this blog was not in my best interest. As a result, this website and my git repo languished. I worked with a lot of really awesome people there, but ultimately due to a number of reasons, I decided to leave and try other pursuits.
Pursuits in VR!
I set out with the rough goals:
- Learn about gaming.
- Learn about VR.
- Make a thing.
My first approach was to make a game with grid-snapping in Unreal Engine. I got my feet wet testing new ideas with unreal blueprints and I dusted off my c++ knowledge. My c++ knowledge turned out to be dusty indeed. I quickly ran afoul of Unreals macro system, which made it incredibly difficult to figure out if my particular problem was specific to unreal or not. (For those not in the know, unreal adds a reflection system to c++ via macros and a transpilation process. It’s all very magical.)
I quickly learned that moving code from blueprints to c++ and vice versa is a very manual and error-prone process. But, in the end, I did get my grid snapping system working. Of course, as soon as I did, I learned that zapping tables was way more fun!...continue?
Yes, I have in fact been doing work this past year! Lots of it, actually. A 45 hour standard work week doesn’t leave much time for anything else. Which is why this blog and Guppy Tools have sadly been neglected. Don’t get me wrong, Guppy Tools isn’t broken. I just haven’t been able to give it the love it needs to reflect my current skill level. I hope to change that soon though.
What’s my current skill level you ask? Well, it just so happens that I recently asked my supervisor at Luma Pictures if I could show off a little of what I’ve been doing. And luckily for both of us, I got the go ahead! May I proudly present: Close Contact, a C++ deformer I made solve to approximate collisions a few months ago.
You know how embarrassing and awkward it is getting back in touch with someone you haven’t talked to in a really long time? It usually goes something like this:
So. Umm, hi.
We used to hang out. And then we stopped talking a few years back.
I don’t remember why.
You know that one time when you were like “Oh, man, I totally owe you for that.”
Well, I have this favor that I need to ask…
I’ve finally updated my demo reel! It has my new smooth stretch algorithm front and center. If you didn’t quite understand some of the concepts of my previous posts, you should definitely look at the video. I think it makes the concept if not the math a lot easier to understand....continue?
Excellent. Smooth stretch was solved. Another day, another math problem solved. I felt like a crime fighter who just beat this giant math monster back. Or was the math monster really solved? Wait, wait wait. Hold on a minute here! The whole reason of redoing this thing was that smooth stretch 2.0 didn’t work well in an IK/FK switch! If this new formula can’t help me solve that, then it’s no better than the old one. Oh crap!...continue?
As I was trying to say in my last post, two weeks ago I began my mathematical journey into smooth stretch. This time around I knew what I wanted to accomplish. I wanted a way to represent smooth stretch using just math. My Maya API chops had increased since my last attempt, so I could now wrap this math into a nice python/c++ node....continue?
My mathematical journey into the world of smooth stretch began two weeks ago. Or rather, it started a long time ago when I first learned about smooth stretch from Michael Hutchinson’s cool Elastik plugin. At that time I tried to replicate it using just sweat, blood, an XSI Blog post on the matter for some math insight and native Maya nodes.
Smooth stretch is actually on my latest (and now outdated) demo reel. That version was my second attempt at smooth stretch. Version 2.0. This was my third attempt. Version 3.0. There’s something magical about the third attempt of any problem. By then you know the real issues. You know what to concentrate on and the pitfalls to avoid. You have the time to concentrate on what’s really important. In short, the third attempt is where shit gets done....continue?
The particularly astute imaginary visitor will notice that I’ve uploaded Guppy Animation Tools to Github. This is the first repository I’ve put on Github related to Maya. It is a collection of animation scripts and plugins I’ve written in the past eight months or so.
In keeping with my original goal of getting my work to the masses, this collection includes both finished and unfinished works. Clever Keys, one of my most polished scripts, is in this repository. It is a much more recent version of Clever Keys than is on my website or creative crash, with several new bug fixes. Guppy Animation Tools also includes my newest and most untested animation script, Lock ‘n Hide. Lock ‘n Hide lets animators lock and or hide attributes on referenced nodes. Those are two of the six tools in this repository, so if you’re an animator in search of some fun tools go check it out! If you find a bug please report it!
Welcome back, my imaginary visitor. I like to imagine that people actually visit my site. It’s probably all my imagination. I also like to imagine that there’s a single person in Bangladesh that obsessively visits my site to fill the void in his life, and the OCD in his head....continue?
My favorite typo when I’m writing python code is “enumerage.” I make this mistake about 25% of the time I try to type “enumerate” for some reason. And every time I have to giggle a little. Something about the idea of Number Rage tickles the little kid in me (or perhaps more etymologically correct, Counting Rage). I imagine a person getting angrier and angrier from the mere sight of numbers. Numbers anywhere. They can’t stand the numbers. Especially when the numbers are in order.
Do you have a favorite typo?
subscribe via RSS