Windows 7 and missing icons

Posted: January 31, 2010 at 7:57 pm

I’ve had missing icons recently. Seems this happens from time to time in the operating system (for whatever reason). Seems like a pretty silly bug to have an issue with.

In any case, I found a way to fix it by deleting your icon cache. To do this:

  1. Press Ctrl-Shift-Escape to get the task manager.
  2. In the Processes tab, click on explorer.exe and click End Process. You’ll get a confirmation dialog. Click “End Process” to confirm.
  3. From the File menu (still in the task manager), choose New Task (Run…).
  4. Copy/paste/enter the following command in the run box:
    cmd /c del %userprofile%\AppData\Local\IconCache.db /a
  5. Open the Run box again with File –> New Task (Run…). This time, enter this command:
  6. All should be okay now. Open the Start Menu and confirm that your icons are fixed now.


Emitting Fluid from Particles in Maya

Posted: December 9, 2009 at 6:56 am

Edit: Maya 2011 now supports this out of the box. Go nab it.

So after a days worth of research I now have the information needed to emit fluid from particles in Maya. A whole new world of possibilities has been opened!

First off grab this file - though I only know it works FOR SURE in Maya 2010 x64 on Windows 7. Anything other than that and you’re on your own to compile it!

Place that file in Program Files/Autodesk/Maya2010/bin/plug-ins/

Open Maya, load up the plugin through the plugin manager, then type

createNode simpleFluidEmitter

This will create your simpleFluidEmitter in your scene. It looks like any other emitter. Now, create your particle emitter like you would any other time. If you started from a clean scene, you should have a simpleFluidEmitter called fluidEmitter1 and a particle called particle1. You need to attach these two by using the code

addDynamic fluidEmitter1 particle1

Now every particle you emit from your particle emitter will have a nifty fluid emitter attached to it. Now you need to make sure that your fluid emitter has something to create fluid in. So go create a 3d Fluid Container and then open up your Dynamic Relationship Editor and connect fluidEmitter1 to your new fluid container (just like you would any other fluid sim) and voila! You are now using particles to generate fluid! Go on! Reap the rewards of my toil and failure! Create wonderful simulations!

EDIT: If you can’t get my file to run….here are some instructions on how to compile your own version:

What you need to do first is to compile the plugin. You will need a compiler like Visual Studio C++ If you are using a mac it’s in xCode which comes included with your install discs or can be downloaded from

Windows users also need Windows SDK. Once you have those, locate the project file Maya/Devkit/plugins/simpleFluidEmitter.vcproj. I had take the file out of the application’s plugins folder because my compiler was denied access to change this directory, so I just dumped it on my desktop.

Now open it and build it. You will find a new .mll or (.bundle for mac) so place this into your plugins folder. Thats it! The hard bit is done and you never have to do it again.



Posted: December 1, 2009 at 6:55 pm

Here’s what I sold my soul (and summer) to.

Subdivide Selected

Posted: August 26, 2009 at 11:48 pm

Edit: You can totally manage Subdiv Selected through Shared Geometric Attributes. I fail at life.

First off - yes I am done with the Disney project. It went very very well and Kristi strongly urged me to apply for their internship program next summer (since I obviously won’t be done with my thesis by then. Pah!). She must have liked me and/or possibly my work as well. I like when things go nicely. I wouldn’t mind working with her and Adolph on a project sometime (maybe in a year? Aww yeah!).

In relation to that - this means the project is done! However the lawyers are deliberating on whether we can post it on the internet or not. Thus, I cannot share it until we get the word sent down from upon the mountaintop.

Now, if you’ve ever used Renderman for Maya (I doubt it) you know that adding the subdivision attribute to your objects is….well….pretty crappy. So I wrote a neat little script during the summer that adds it to everything you have selected in your scene. I figure I might as well post it here just in case I lose the script someday sometime somewhere. Plus you all (meaning Mom) can use pieces of it if you need.


Maya 2008 & Renderman for Maya 2.0.1

This script adds the Renderman SubDivision attribute for all polygonal meshes currently selected.
It will not add the attribute to any other object type and will automatically add the
attribute to the correct shape in the polymesh hierarchy


$selectedmeshes = `ls -sl`; /* list everything selected */
int $size = size($selectedmeshes); /* find size of selected array */
string $attrnm=`rmanGetAttrName subdivScheme`; /* get the subdiv attribute name so you can add it later.
do it this way because the name is long/nasty/changes.
Hardcoding the name may leave you incompatable later on. */

for($i=0; $i<$size; $i++) /* loop until end of array */

string $shps[] = `listRelatives -shapes $selectedmeshes[$i]`; /* find the shape of what’s selected */

if (`objectType -isType “mesh” $shps[0]`){ /* check to see if its a polymesh. skip otherwise. */
rmanAddAttr $shps[0] $attrnm “”; /* add the subdiv attribute to the mesh */
renderManUpdateAE; /* Update and move on */
renderManShaderUpdateAE “”;}

Yes that’s a lot of comments. That’s how I write code boys and girls. Don’t complain that you actually know how this thing works at first glance.

Mickey is in town

Posted: June 7, 2009 at 2:56 pm

So my life is being owned by Disney at the moment. It would be super sweet and awesome if Nathan hadn’t turned “Team Awesome” into “Team Quarantine”

Everything is going decently well so far, but we are only a week in. You can wander along over here (Edit: link removed due to threats by Mickey’s lawyers. They’re a grumpy lot!) to stay on the “fringely-to-date” for everything we are doing. Yeah that’s right - it’s hosted on Disney’s servers. I’m important now. I don’t know if there will be spots for us to upload our progress later on or whatever, but that’s kind of home base for now.

The real reason I showed up was to share a MEL script I just had to write for some asset management yadda yadda yeah nobody is still paying attention anymore. The script returns the scene filename and removes the _mb or _ma at the end. Now you can quickly name nodes after the scene! Word.

string $currentScenePath = `file -q -sn -shn -wcn`;
$currentScenePath = startString($currentScenePath, size($currentScenePath)-3);

If you are working on filenames that are longer than mb or ma - just change that 3 to a 4. Simple.

Momentous Day

Posted: April 12, 2009 at 3:30 pm

It took me 23 years, 1 month, and 8 days to finally realize why they switched the l with the r in the term “Engrish”

I feel like I failed humanity on some level.


Posted: April 8, 2009 at 7:15 am

An article about the dark side of dubai. I’ve heard snippets of stories like this before, but this is a really amazing all encompassing article. Extremely well written, many different angles, and covers some important things too. The author does interject personal opinion, but I think in most cases he uses it as a tool to further investigate. Just read it!

My Favorite YouTube Video

Posted: March 16, 2009 at 1:03 am

Probably not what you expected.

It’s all about the nod at the end. You can tell he was into it.

Why reading the instructions helps

Posted: March 15, 2009 at 3:56 pm

I just spent 3 days working on a broken RIB file exported out of Maya for rendering and shading. Turns out….we don’t have to turn in the RIB file…probably for this exact reason.

Controlling After Effects Expressions

Posted: March 9, 2009 at 3:20 am

So lets say you want to write an expression in After Effects that maybe….randomizes an exposure effect……but you only want it to happen for a certain duration. Whatth’eckdoyado?

if (time >= key(1).time&& time<=key(2).time) {
} else{

Put that expression in, and set two keyframes for the variable it is controlling, and bingo bango - you’ve got an expression that runs only between keyframes 1 and 2!