

I just commented this to a thread on a film where there has been rampant speculation about the casting of a particular character. This character is generally thought to be of a particular ethnicity, and there's been a lot of discussion over who will be cast in the role. Popularly, people seem to be hoping it will be of the same ethnicity as they believe the character to be... but when we're talking about someone of Mediterranean/Arab/North African/Middle Eastern ethnicity - it's sometimes hard to find the right one. If the character was originally Pakistani, do you really have to find a Pakistani to play them? Or is it ok to get someone from Afghanistan or India? Is it racist to cast an Italian-American? or is it racist to say that you *can't* cast one?
Ultimately, I deleted my comment there. In reality, it's like that old (and not very PC) maxim: Arguing on the internet is like competing in the special olympics. Even if you win, you're still retarded.
This particular comment was on an upcoming movie version of a video game. I decided to reproduce it here to let everyone know that I haven't died. I was just sick most of last week and while I soldiered through work every day, I basically came home and slept - so my effects blog suffered. The original poster had ranted about the casting of Jesus in The Passion of the Christ, the Spartans in 300, and various other distant historical characters in what he felt were ethnically inaccurate ways. Here was my response:
The original character back in 1989 was a stack of animated pixels about a hundred raster lines tall. As I recall, there was nothing about that tiny sprite animation that suggested any sort of ethnicity. It was Mario Brothers set in a middle eastern palace - so let's not make it out that the casting in a feature film version of a video game franchise is making any sort of political/social statement. With any luck, it'll be a great, fun movie: one we'll all enjoy, one that will be chock-full of fun stunts, visual effects and a good Action-Adventure storyline.
You write like you think the Greeks of 2500 years ago bear more than a passing ethnic similarity to people who live in Greece now, or that anyone has the foggiest idea if Jesus looked like a modern Mediterranean or an African. It's been a long time... I'm not sure we even know what *anybody* looked like back then. Casting a modern Israeli is just as irrelevant as casting a white man.
I feel like this sentence:
It is about people of a particular ethnicity not feeling like they can connect to a character in a movie unless they are the same 'ethnicity' or 'race' as them.
is as validly pointed at you as it is to anyone else.
Hollywood is all about makebelieve. When Bollywood makes a film, they cast predominantly Indian actors - because that's what their audience wants to see. It's not that the studio execs are racist, or even that Indian viewing audiences hate white people... It's that yes, for the most part audiences *do* connect to characters that are as much like them as possible. Movies aimed at a female audience have lots of female characters... Movies aimed at children usually have a bunch of kids in them. Movies aimed at white people are likely to have lots of white people in them too. Same with anything from Tyler Perry or Martin Lawrence - movies targeted at black audiences have lots of black people in them... and when I went to see "The Bucket List" guess what? Half the theater was in their declining years. Think we'd have brought out all those retirees to the theater if it was about a couple 20-year-olds dying of Hepatitis? Because I sure don't, and I don't think it's because grandpa hates his grandkids.
I really dislike that we're not a lot more accepting of differences of all kinds: race, gender, ethnic diversity within races, age, sexuality... but not everything that a particular group is interested in is racist, sexist, homophobic or what-have-you. And not everything that's marketed to one of these groups is symptomatic of some gigantic social ill.


After a fairly exhausting week, tonight was my night to really kick off a weekend... and what better way to kick off a really world-class weekend than to go see an old friend perform with a band in Hollywood?
Went to Relax Bar out into the sorta sleepy grungy part of the Boulevard of Broken Dreams (better address and directions at the link above)... Weird little venue, that. Meredith and I both were having college flashbacks of places we used to go hear bands back in the day. Difference for her was that here she was performing in one.
That Meredith would be Meredith Meyer, who some old Orlando friends of mine may know.
It's not every day you find someone you've known in a different place and time that's found a working niche for themselves elsewhere - but there it is. It was exciting to me to get to hear her tonight, and doubly good to see and hear just how beautiful she sounds live. Am I gushing? *shrug* Maybe. But it's deserved.
I'd love to go on more about the evening: it was excellent. Found another couple bands that I really enjoy hearing live. The whole night was good, but a couple of those bands were ones I'd go hear again and again - and in a city packed to the rim with excellent bands, that's saying something.


Working late this evening, writing a script that will string a dozen or two individual shots together automatically, linking their camera and element positions together across time.
It's a continuity thing, as well as providing a seed for other artists to do things like fluid sims off of. The goal is to end up with a file with a bunch of individual cameras (one for each shot) and elements that all translate through space as they do in each individual shot.
Basically, if we're right up next to Object A in this shot, and it's moving such-and-such a way, and we're approaching at 5 miles per hour, and we go back 30 seconds in the film, where would the we and the object be in that earlier shot.
Not necessarily glamorous code - but I love it nonetheless.


Just updated my blogroll, the little list of links to other people's blogs, specifically related to visual effects. I'd started with a couple of off-livejournal blogs of friends - and realized that'll have to be when I do the other blog that's just me and my personal stuff. (Unless of course, those friends start posting about visual effects)
I may add an additional "also of interest but not vfx" category.
Anyway, if you're one of my not-vfx-industry readers but you've been interested in some of what I've been writing about, check out the other visual effects blogs under "Links" on the right. My ramblings recently have been especially technical, but they won't always be so: and many of these are a little more down-to-earth and a good way to find out a little more about the world I work in.
Also, if you're a vfx artist with a vfx-centric blog, ping me and I'll put you on there as well.
(And if you're just finding this blog randomly, check out my shake scripting , MEL scripts, and SynthEyes sizzle scripting info, tutorials, and tools.) Sorry about tooting my horn so much there. Has to be done. Really.


ReDistort - Optically accurate for typical lens distortion.I received an email today from Miles Lauridsen over at Pac Title. He was comparing the results of my ReDistort tool for Shake with the output from SynthEyes applying what (should be) the same algorithm. His report, however, was that the results he was getting were somewhat different using the same distortion value.
I've been comparing your ReDistort shake script to the images produced by outputting a re-distorted image from Synth Eyes and noticed some discrepancies. Namely, the shake script does not distort enough using the same value as in SE. Have you noticed the difference in the image distortions, and if so, have you found a workaround for this?
He's totally right of course, and it's something I'd meant to mention originally. While all the math is the same, there are some noticeable discrepancies in the execution of it in the Shake environment that's always made it a little tricky. (No trickier, of course, than dealing with lens distortion without the tool - it's always a sticky business!) Now, this isn't the first time I've experienced the problem - and truth be told, having it brought up by someone else makes me think I ought to investigate it a little more closely and make the tool work dead-on right away, but I do have a workaround and I figured I'd post my response here. A video walkthrough of this process (and a few other tricks) should be coming along shortly.
My reply to Miles:
Interesting - it's using the same function as SE... or at least was when it was created... Yes, when I've compared them there were some differences but it was pretty subtle, in ways I've always attributed to the way Shake pushes and pulls the pixels in the displaceX. I wonder if the function has changed.The math isn't purely reversible so you'll get different results from positive and negative distortion. I've never been curious enough about it to do more than just make it work, but I'm sure positive vs. negative distortion values should be handled slightly differently. (I did write a version that adjusts for that, but that's not written into the tool I distributed because it's pretty arbitrary what I did in it) It's because the node processes the distortion from the viewable image plane, something which actually doesn't work in both directions with the same value (since either one direction or the other is starting with data across a smaller area)
I've always avoided processing the plates through SE since it seems the wrong place for that (though very small studios obviously have reasons to disagree with me - notably having nowhere else to process them)
In cases of strong plate distortion where I suspect the discrepancy might cause slipping, I'd usually pull a plate in through SE, calibrate it in SE so its distortion is compensated for using SE's internals, write out an undistorted plate, then build a shake script with the original plate and the undistorted plate passing into an iSubA. View the iSubA, add a ReDistort under the undistorted plate from SE and adjust until it's warped back out to the original plate. You'll see the relief-map appearance at the iSubA reduce to subtle shades instead of harsh lines as it gets close.
That gets you the reverse value that you'll need to use to process a render. Then you can pass along that value to the compositors or whoever in your pipeline is handling undistortion of the render passes.
Hope that helps. It's part of what I was hoping to cover when I record the walkthrough tutorial for that tool. It's not perfect... but it's handy - and we used it @ Asylum for that Propel Stress Monster commercial that we won a bunch of awards for last year, so I feel good about the results. (It's been used on a lot of stuff, here and elsewhere - it's pretty battletested)
The ReDistort lens distortion tool can be downloaded from here.


Should I go on?
Well, I am.
I just posted a big (to me) update to my Shake Tools page on the main ShakeArtist webpage. It's like a baby I thought would never be born.
The DynaCyc toolkit is a spiffy little thing that contains three main tools. The first is called "Forest" - it was originally developed for algorithmically generating dense areas of shrubbery, grass, trees, plants and so on (thus being called "Forest") but I quickly learned that it was also rather handy for replicating a handful of images of people into a large crowd. (That icon is a couple hundred tiny little me-s, wearing dark trenchoats, fedoras and carrying rifles.)
There's a training video for DynaCyc available here.
The other two tools in that toolkit address an issue I used to see a lot when teaching and realized it would be a helpful tool for everyone, not just students. The first one allows you to set a start and end point for an object, indicate an apogee, start time, end time, etc, and have an arbitrary image transformed from the start to the end, arcing in a true parabola (that you can skew to simulate perspective) It seems a lot of people don't realize that freely moving objects ALWAYS travel on a parabolic path (so long as they're in the Earth's gravitational field that is). The last tool, Volley, is what happens if you combine the first two... We can launch hundreds of objects, with a wide variety of adjustable parameters, all driven by some fancy chaos math.
Did I mention that all the tools in the DynaCyc toolkit generate a z-channel when they're done? Oh yes. Yes they do. So it's easy to insert other objects in the midst of them or even to combine multiple instances of those tools in the same scene.
OneLight Plus is another great kit. Using a rendered normals pass (worldspace please! Object/local normals are for game engines), a diffuse pass, and an ambient occlusion pass, this tool is able to simulate additional light sources being cast onto an already rendered object. The video showing how it normals-relighting works is here. Lightmix is a companion tool that makes it easy to tune the apparent focus, light color and intensity of several of these lighting nodes (and can also come in handy for other lighting tweaks using more traditional methods)
I still don't have the training video for this one online yet, and it may be the hardest of any of them to use. If you're a Shake user, though, you can download the uv-retexturing tool itself from this page and get the video when it becomes available. It makes it possible to do fancy things like add damage to a rendered element, track additional details onto digital doubles, completely replace the texture on an existing render... and it works with up to 16 separate textures at once, each up to 8192 x 8192. Imagine having a cg triceratops (like our little icons) that gets beaten up: you can add wounds, dirt, dust, scratches, etc right there in the comp and they'll stay with him as he thrashes and moves.
This last one for today is a tool I wrote specifically as a companion to SynthEyes, but it can be used regardless of the visual effects pipeline it's a part of (as long as they have Shake of course). It applies and removes (in an optically-accurate way) lens distortion on plates. You can remove distortion from a film plate, or apply it to a CG render, or even use it to analyze the plate to determine how much distortion is there. There will be a tutorial for that one eventually as well, but for now you'll just have to wing it if you download the lens distortion tool from here.


On LiveJournal: comment however you like.
It's different there. (I guess it's ok on Xanga too, though that's mainly a mirror not somewhere I really spend any time) Crazy, foul-mouthed or otherwise objectionable comments are generally encouraged or at least accepted, partially because they're not just splashed up on my page when you visit it.
That's one of the things I dislike about MySpace... People posting videos of guys lighting their farts on fire and they can leave them on YOUR page?
No thanks. It's like letting visitors order the PPV East European Ladies BodyBuilding Competition and stealing off with the tv remote then when other people come over to visit I have to explain "Oh, no, I wasn't just watching this... It was somebody else. They did it. Oh, umm, well, I guess, yeah they're my friends but... it was meant to be funny. No, I mean, sure, I admire these women for their dedication to their sport, I'm not making fun... No, when I say 'admire' I mean like, I think it's great that they're doing what they're doing instead of fucking with my tv remote."


but I ended up going in to work today anyway.
I'd agreed without thinking more than "yeah, extra cash would be nice" and forgot what had been looming.
Annoying project. I mean, the spot's going to look cool even if it's a little froufrou. But the details of making it happen are tedious and I agreed to come in and track which I haven't done much of recently and am starting to not miss at all.
So I went in, tracked, found out it wasn't *nearly* as annoying as I'd anticipated... and briefly wandered off into MEL scripting territory to make a button that places arbitrary geometry at the location and orientation of any locators or mesh vertices that you have selected as well as constraining the new geo to the locators in case they were animated. I may change it to orient based on the vertex normal. That might be more handy. It was irrelevant for this purpose though.
That's more interesting and is more helpful for everyone else.
Besides that, I've a thought in my head: My WordPress blog, while inherently "personal" is more along the professional side. Same with my facebook profile... A sizable chunk of my facebook friends are people I know professionally: so glittery graphic "thanks for the add!" and stupid pictures get deleted from my wall. casual banter is fine: but things I wouldn't do or say at work don't happen there either. I've started deleting comments that wouldn't be appropriate to yell out at me at work. If you leave a comment that gets deleted: I'm not mad at you, I'm just not going to embarrass myself on anyone else's behalf.
Myspace is a filthy pit anyway, so I'm not policing it yet. Professional contacts on there are incidental, but I'm probably going to clean that mess up soon as well.


Spent most of the day today working on my website, building another tutorial, and refining the uv-pass retexturing tool.
I had a long time to wait on a couple renders that I'm using in the tutorial, so I kept tweaking the interface. The original version of the tool was created about 3 years ago - and the underlying code hasn't changed. I have gotten a little pickier about how my tools should work though. If there's a process that I'm going to want to do most of the time I use the tool (whether it's a Shake Tool, a MEL or Python tool in Maya, a Sizzle Script, etc, that process should be built into the tool itself. It saves time and annoyance and makes the tool complete.
As a result, I ended up with a tool I like even more. Unfortunately... I won't be posting the real update tonight. It's late, I haven't recorded the final version of the tutorial yet, and I still need to package the latest set of tools for download.


Originally uploaded by Eddie Offermann
Debating whether to update my website with another shake tool training video and set the tools up for download, or go hiking. I have to work on Sunday, so I need to make a decision.
- Taken at 11:07 AM on March 01, 2008 - cameraphone upload by ShoZu
More Options ...

Categories
Tag Cloud
Blog RSS
Comments RSS



Void (Default)
Life
Earth
Wind
Water
Fire
Lightweight