Categories
softimage

Beveling vertices of an icosahedron

Beveling and/or extruding vertices of an Icosahedron primitive can get you some pretty cool patterns:

Categories
softimage

ICE: Emulating Maya’s hierarchical bones display in Softimage

You’ve probably heard of ICE keywords like “self“, “this” or “this_model“… but did you know about “this_parent“?

It’s not undocumented, but it’s often forgotten.

If you’ve ever seen a Maya rig, you’ve probably seen their joints system which draws “fake” bones. Fake as in that it’s just an OpenGL virtual representation of the hierarchy/parenting, not an actual object. I’m not a big fan, but I do like the concept of being able to sketch out a skeleton by duplicating and reparenting joints, and thanks to “this_parent” we can do the same in ICE!

Categories
scripting softimage

XSI SDK: Picking forever with Python YIELD

What’s the smart way to pick any arbitrary number of items with XSI’s PickElement or PickObject commands? Read below… 😀

si = Application

def pickForever(**kwargs):
    '''
    Pick forever, and ever, and ever, and ever...
    until you rightclick.
    '''

    # Default options
    leftMessage = kwargs.setdefault('leftMsg', 'Pick something')
    middleMessage = kwargs.setdefault('middleMsg', leftMessage)
    selFilter = kwargs.setdefault('selFilter', 'object')

    # Loop and yield forever until complete:
    while 1:
        out = si.PickElement(selFilter, leftMessage, middleMessage)
        obj = out("PickedElement")
        buttonPressed = out("ButtonPressed")
        modifier = out("ModifierPressed")

        if obj:
            yield obj, buttonPressed, modifier
        else:
            break


# _______________________________________
# USAGE EXAMPLES:

def processIndividually():
    '''
    Deal with each pick, one object at a time...
    '''
    for obj, button, modifier in pickForever(leftMsg='Pick Object', selFilter='polygonmesh'):
        button = ['left','middle'][button-1]
        # (-1 because 0 means right, but is never returned.)
        si.LogMessage( "Picked %s with your %s mouse button!" % (obj.FullName, button) )


def listExample():
    '''
    Getting a list of picked objects, only after picking is complete...
    '''
    pickedObjects = zip(*list( pickForever(leftMsg='Pick Object') ))[0]
    si.LogMessage( pickedObjects )


# Cool, eh? :)
Categories
scripting softimage tutorials

How to read an XSIADDON file in Python

Ever wondered what’s the deal with *.xsiaddon files? What are they?

Well, they’re good ol’ XML with a bit of metadata and the files embedded in them are compressed with the zlib library and base64 encoded for safe plaintext storage.

How would we parse such a file? Check this out:

Categories
Uncategorized

A few reasons why I <3 SublimeText2

Pardon my occasional ranting and pause sounds (ehh, uhms), lol. I recorded this on the spot without planning what to show.

Anyhow, go try the program yourself! 😉

Categories
Uncategorized

Skydiving (November 2011)

Last November I jumped with two other friends, off a plane, tandem parachuting. It was briefly terrifying, then amazingly blissful, exciting and unforgettable. Everyone should do it! 😀

Skip to 11:32 to see me play it cool while I come to terms with the floor being ~12,000ft below me.


(If you’re curious why I’m posting it now; I only just got around to splicing our 3 dvds together.)

Categories
finished works

New commercials: Baygon, Excel, Dragon

Hey guys, it’s been a while. Here’s some more commercials I did the character rigging for. Enjoy! 😉

Dragon candies:



Excel critters yet again:




Baygon: [a.k.a. RAID]

Categories
Uncategorized

Happy New Year!

Happy New Year to you all! Hope this one brings even cooler stuff than the last.

Here’s a video I took of how I spent my new year’s eve. 😀

Categories
finished works

Commercial: T. Rowe Price Glass Jellyfish

I was responsible for rigging the jellyfish (tentacle sim. included) in this commercial for T. Rowe Price, produced by Psyop:

Enjoy! 😀 (Best appreciated in HD.)

Oh and check out the art of this concept artist that worked on it.

Categories
Uncategorized

CG-related humour (with a side of cheese)

I hope you’re not lactose intolerant because these jokes can get cheesy… However, I’m certain at least one will bring a smile to your Friday. 🙂

Check it out: http://CGjokes.com/

It all started when I wrote the very first joke (the one at the very bottom.) I wondered if I could think of more, and so I did, but then I challenged myself to come up with a one-liner every workday or so. (Quality varies as it’s hard to write brilliant ones all the time, but I try.)

I looked online for more material but only found a really old thread from CGTalk, and many of their jokes were worse than my worst. I figured, if there’s sites out there listing trigonometry or Physics jokes, why can’t we have one more just for CG-related jokes? And so it came to be.

I will eventually run out of puns so I’d like to invite you, yes you, to think of hilarious material and submit it on the site. I will review any and all that come in and publish those that make me smile or chuckle; with your name as the post author of course. (If you leave a link to your blog I’ll link you if you get posted.)