Topics by tag:
Recently published articles by Dave G:
So, after tiring of Mari’s new project panel and its non-OS version of its open dialog, I decided to make a script (Download here) that sends the selected mesh from Maya to Mari for painting. It has some nice options that I think will be welcome:
The features are shown in the video here:
If you don’t choose to send an existing texture, it will create a 50% grey “color” channel that is set to the resolution of the slider, which snaps to Mari’s supported resolutions.
I added the ability to send a tessellated and displaced mesh even though I know that Mari does displacement previews but these don’t use your actual values from your existing Maya model so this script creates a mesh that is closer to what will render. It’s not the best solution since the geometry can be really jaggy but it’s better than nothing. Just make sure you only run this displacement script on cage-type geometry because it smooths the mesh and then tessellates so it will extremely slow if it’s a already high-ish res mesh.
As you can see from the video, I originally made this script to send Python to the clipboard since I didn’t see any documentation for the command port that is used by Nuke to talk to Mari but there was an example script that showed that it receives straight Python. So my script does all the gross code escaping and wraps the Python commands in a single line and passes it to Mari.
To get the script to speak to Mari, you need to make sure that Mari’s command port is open to the default port of 6100. This is in the Scripts portion of the Mari preferences.
The only limitations to the script right now are that it needs to have a relatively simple material applied to the selected mesh – it will simply fail if you have a V-Ray Blend Mat applied to it, for example – a fix for this will come soonish. You also have to have a mesh selected when you run it. Also, textures are currently sent only as RGB, with no scalar option. This will come later and I’d like to add an auto-detect for the applied texture res for the slider. Tiled mats are not supported – obviously that is a dealbreaker for many but hopefully I can get that working some time in the future. I haven’t tested it in Windows or Linux but it should work fine. The exported meshes are stored in a project_path/GoZ/ folder because I didn’t want to create a different folder for OBJs that I use with my ZBrush meshes.
1 note | Permalink
So it turns out that V-Ray Rectangular Lights use four spotlights to achieve their display in Maya’s viewport 2, so if you have some not showing up, jack up the supported light amount in viewport 2:
Slowly getting my brain to function after the loss of my dad and put up new V-Ray Tuner version with some features:
5 notes | Permalink
This blog would seem like a terrible place for a eulogy. But then, it’s possible you didn’t know my father. If you had, then you’d know that nowhere was he more at home than when he was surrounded by bits of neat ideas, threads of thought, drafted plans, CAD sketches, nuts and bolts, enthusiastically shared knowledge, mixed media, projects finished and those yet to be finished. He fired on all cylinders and his eyes glimmered when he talked about something that seemed beyond any one person and he always inspired us with his creativity and ingenuity. My father lived, and he died, in his workshop. So it is the best tribute to my father that I should lay his weathered soul down in a bed of shared ideas. He wouldn’t have wanted it any other way.
If you wanted to get to know my dad, you just needed to look at his hands. His hands were large, leather-bound tomes that were always stained and scarred from the merciless demands of his brain. They were rarely allowed to idle and they moved between so many fields of expertise, that you couldn’t help but be amazed by their awesome powers. Dad’s hands made the words “skilled” and “rugged” back away without a fight – and this was despite an increasing essential tremor that complicated his love for coffee, which preferably ended up in his mouth.
Dad’s hands were the reason I learned to value the signs of time and hard work on people’s faces. In my father’s universe, you would be congratulated for achieving another set of lines under your eyes because they told a story about love for ideas and late nights chasing that next great thing that you treasured. In my father’s world, fool’s gold was a face well preserved by a lack of work, passion and laughter. Similarly, clothes for my father were not about display, they were a necessary evil and time spent thinking about them was less time doing what mattered to him – being with his projects or with family. But clothes helped keep your wang out of the milling machine, which was a plus. Predictably, that view took its toll on his fashion sense, and socks and sandals weren’t a bad cliché for my dad – they were a way of life. He rocked that magic duo like a champ: black socks, leather sandals – you name it – he raised that combo to an art form.
As good as dad was with his hands, it didn’t come without trade-offs. His spelling was pretty awful and navigating through his caring words in a letter or email was like walking through a misspelled minefield. But that showed another flattering irony about him: he left high school because formal education got in the way of his ability to work with the ideas he already had and urgently needed to develop. There’s a great Marcel Duchamp piece of a door that closes one room but opens another – sooner or later, you have to pick which room the door opens and go in, leaving the other room closed. Behind the door that my dad closed early were diplomas, eating right and anything done in moderation. But the room that was left open led to a frenzy of discovery and applied hands-on learning that was treasured and used more than a piece of paper could have been. He never let school get in the way of a proper education.
As a result of his insatiable desire for knowledge, he was one of the smartest uneducated men you’d ever meet. His ability to reverse engineer and solve problems shamed people with more credentials – literally. His degree-toting engineer managers at Pratt & Whitney and his union bosses at earlier jobs hated him because he made everyone around him look bad. He worked too hard and he worked too well and he earned his share of haters as a result. He was the Reverse Engineer, PhD and the best kind of shit-disturber. As a result, he instilled in me a love for learning through self-sufficiency and a disdain for the superficial aspects of academia and for-money training. If it wasn’t for this gift to me, I would probably be trudging through an expensive Master’s degree instead of happily working directly with my painting mentor (Dad’s charm genes also came in handy there). My mother often said that my father would have been dangerous with an education – but he was dangerous because he didn’t have an education. In the days before the Internet, YouTube, open source and freely-available learning, my father became a well-paid engineer with no engineering schooling. That is dangerous.
A legacy of work and love
All this talk about work and my dad’s world could be misconstrued as the story of a hardened recluse who cared little for people and that his accomplishments were simply work-related. But family was always the first thing on his list of priorities:
A note from my dad that I kept – you know it’s authentic by his ability to make you feel loved, and by the typo.
But he frequently expressed his love for his family through his work. He built me my first toolbox, furniture for my sister, he built my first drafting table, he fixed our cars, he made my newly-bought home safe by replacing the bad wiring that was hacked together by a megalomaniacal yoga instructor, he fixed up an apartment for my stepsister Tammy and then he rigged up a safely slowed-down golf cart so he could watch the grandkids happily poke around their land in it. He helped me turn an uninsulated shack appended to our apartment into a proper painting studio:
My dad with one of his epic tans. I think he was planning on upholstering a couch with a graft from his arms some day. He also showed me how to build that door from scratch because it wasn’t a standard size.
Dad’s labours of love are too numerous to mention but his boat was his life’s magnum opus. After he built our home in Old Chelsea, Quebec, he then did what only my father would have done: he built a wooden racing-style boat hull in our basement. He invited a party of family and friends to help move it:
But that was one of the few times I saw my dad need aid for his work. This was usually as you’d find him:
Then he outfitted that boat with the 454-horsepower Chevy car engine you see above:
Needless to say, this wasn’t a stock design you bought out of a catalog. But when he made something, it worked:
But dad’s boat was part of his unity of family and work. He frequently told me and my sister Sue that it was meant for those times spent with us, and it was the highlight of our camping trips as kids. My parents divorced when I was young and we lived with our mother, so camping and bringing us to the lake was what he lived for. So I got to spend my summers pulled behind a roaring, bad-ass motorboat that my dad built – it didn’t get any better than that. It comforted me greatly to fall asleep to the hum of that engine through the leather seats that my dad made. I hope he knew that.
My relationship with him developed more deeply through the later years and I also grew to understand him in my genes. Frequent late nights painting sessions, the giddy feeling I get when I develop my own custom tools for my 3D software, a love for being alone with my work and for being with my few close friends, my career as a painter, an art director, a 3D artist, a coder, and a tinkerer are all my father’s gifts to me that I will never squander (sorry dad, but my love for teaching and writing came from mom). His ability to be a loyal friend, a voice of reason, and a force for good are qualities I try to emulate.
But his biggest unspoken lesson was about humility. When someone would come up to admire this boat which was, even the crankiest of coots would agree, a beautiful work of craftsmanship and creative engineering – he shrugged it off, with a clear disdain for egotism. Today, when I read the word “humble,” I actually think of one of those moments. I could show him some simple computer script and he would always say “you got me beat,” like you were the one making magic. He was animated when he talked about the inner workings of any project but never gloated about his accomplishments. Still into the final days of his late sixties, he gushed with enthusiasm about the next thing he was working on, however small.
This is just a small thing he worked on for him and his loving wife Ivy, but you can hear the boyish excitement in his voice.
He frequently talked over our heads about his projects but it wasn’t condescending, it was just that he couldn’t contain his excitement for his ideas. A few weeks ago when he visited, he talked about building a high-speed, water-based cutting tool and, if he hadn’t successfully built the other marvellous contraptions around him from scratch, you would have been tempted to write these off as the pipe dreams of a big talker. But my dad didn’t just buy tools, he built them. He made a circuit-board printer out of a hacked plotter and his friend John wrote the software for it. That thing built boards for other projects. He made a little mock solar panel that would turn and roll to seek out the most light. You could probably guess that it wasn’t hard to spot my school science projects as a dad-job.
The last of his finished tools was a CNC milling machine that took him a year to complete and he was proud that it got 1/4000th of an inch accuracy – something that would cost you $200K if you bought a similar machine from a manufacturer. Like I said, he was dangerous. He was using this milling machine to develop parts for his last project – an industrial air filter. He emailed me the Solidworks sketches of it but it contributed heavily to his growing sickness, so I can’t stand to look at it again.
Dad described his father as incredibly hard working and it terrified me to think of what that meant, considering his work ethic. That would explain why my grandfather was always financially strapped — doctors bills combined with ulcers back before there was public healthcare in Ontario. One of the few things I remember about my grandfather was his workshop, which was littered with empty Tums antacid canisters.
But my father had his own ills that were more severe. It seemed like his passionate affair with ideas could not be stopped but his sickness sadly beat him. In the end, the only thing stronger than dad’s will to create and love was his need to escape the opaque, charcoal cloud that ebbed in and out of his world at different times of his life. He left us on the blackest of Fridays in the darkest of ways, outwitting our best efforts to keep him alive. If he wasn’t so god-damn good at what he did, he might have failed on his first attempt and given us a chance to help him. But dad was successful, even in his tragic failure. He should have given the job to a lesser person – which would have been easy to find because my father, John Leslie Girard, was extraordinary.
I debated talking about dad’s suicide publicly, or even using that word, because it can seem to tarnish these great memories of him. But I think it was his pride and the stigma of men of his generation talking about mental illness or the need for medication that forced him into increased isolation. To deny how people like my father died is also to deny how they lived: suffering and in need of our help. It’s by talking about this issue that we can hopefully help others avoid a similar fate because it is the second time my family has lost a man who could have enjoyed his retirement years to a cocktail of foolish pride, old-world thinking and severe depression. My father was basking in the love of bi-weekly grandchildren visits and tickle fights, and he still went from troubled to gone in the span of a few months, so don’t underestimate the power or urgency of depression.
But don’t be ignorant of its workings either because misunderstanding it can be just as dangerous. Don’t confuse depression with your experience of sadness – if you don’t know about its unique symptoms like intrusive thoughts, something that plagued my father in his darkest times, then you may only push them away by misunderstanding. Creative individuals who suffer from depression frequently isolate themselves with their work because dealing with people is too difficult – the anxiety compounds exponentially and it is like being in hot water. You may be the person they love most in the world but they have to get away from you regardlessly. It is not rational and it is relentless. They wear a leaden cloak that makes everything profoundly difficult. It is not sadness – it is a dearth of emotion and it eats at concentration and focus, so it is especially deadly to creative people because it isolates them in their work and then it makes their work suffer. They lose everything.
As it is, I would have given anything to have more time with my father but now I have to comfort myself by knowing that his suffering has ended.
To my stepmother Ivy, I am eternally grateful that you gave dad unconditional love and tried desperately to save him from himself – I know it was a full time job. To my father, who I continue to understand in my genes and the blips of him that emerge through my daily thoughts and expressions, I do have one last thing to say:
Dad, you left one of your hammers in my studio. I promise to put it to good use but I may end up with blackened fingers – I’ll be hammering with tears in my eyes and a broken heart.
6 notes | Permalink
Everyone is biased to what they use so it’s going to be hard to get honest feedback for this question. I use Maya on all three OSes often and learned Maya in Windows back when it wasn’t available on OS X and then switched to the Mac version. But the “everyone uses X” is actually a lie. The majority of independent Maya users are on Windows but if you work in the 3D for film/VFX industry, that is dominated by Linux. Technically speaking, that’s a majority of users on PCs but that’s not a reason to pick a platform. Maya plug-in availability is better on Windows but it sounds like you’re learning and you should try to avoid solving problems with plug-ins while learning because it creates a dependency on them and sometimes they stop getting updated. That’s one of the reasons I’m looking forward to V-Ray support for XGen – waiting months and months for Shave and a Haircut update for the latest Maya version is a pain in the ass.
But the Parent Master script you mention works on all platforms and scripts don’t tend to break with new Maya versions like plug-ins do, so go ahead and use it and other scripts. If you see a script on Creative Crash that says “Windows” as the only supported platform, that’s probably untrue since it’s very hard to make a script that doesn’t work on all three platforms. It’s just that the person who wrote the script only tested it on Windows, so they don’t want to write “works on OS X and Linux” without having tested that.
But use the platform that you want to use. If you like OS X, use OS X because you’re going to be a lot unhappier using Windows as a Mac user than you are going to be as a Windows user with a few more plug-in and hardware options. If you want to build a PC to help with final renders, go that route and use the Mac for your workstation/host machine. I did that and there is a guy on Creative Crash doing exactly that here
I have a Linux render slave box that doubles as a Windows gaming machine and V-Ray’s automatic asset transfer in recent nightly builds means that I don’t have to care about sharing texture directories (this is coming in the official 3.0 release). V-Ray Slave licenses are also free. After tedious issues with using Windows as the slave OS (fans constantly spinning up and spinning down like a man catching his breath), I stopped running it in Windows and only run that for games. So this is what my desk looks like right now:OS X at the left, Linux at the right.
Every platform has it’s strengths and weaknesses.If you read my article on creating the ultimate creative content OS from parts of Mac OS X, Windows and Linux, you’ll get an idea of the strengths and weaknesses of each platform. Linux and OS X are far better at multitasking than Windows (you can work while you render without having to drop process priority or give a CPU core to other tasks), Windows has more 3D programs but, if you need to use a Windows-only 3D app infrequently, a virtual machine works fine. My Max model conversions for Turbosquid are built and rendered in a Parallels Desktop VM.
If you want to learn about what is used in the industry, that is easy. If you work in game development, it is completely dominated by Windows, but even Windows 3D game development people curse that dependence:
If that guy had the option to do game development on OS X, he probably would. A Unix OS like OS X will actually be closer to what they use in larger companies in the VFX industry, which is completely Linux dominated. If you learn how to do shell scripting in OS X’s terminal, that will translate directly into Linux knowledge without having to do the crap that Linux is bad at: like manual editing of grub configs or solving audio issues. Every time my Linux machine wakes from sleep, I have to disconnect and reconnect its Wacom tablet or it won’t work. The Mac’s hardware options are more limited but you get a lot of peace of mind that you don’t get with Windows or Linux. You can work with very little getting in your way. Under a tight deadline, that is worth more to me than a couple more plug-in options.
3 notes | Permalink
I think that the problem with the userSetup.mel option is that you have to have the render window open at launch so the startup script doesn’t see it. I just did a clean launch, opened the render window and used my shelf command to dock it, so I know this works:
dockControl -area right -content renderViewWindow rendEditorDC;
You have to have the window open first and I think that Maya probably has to initialize a bunch of stuff when you open that window so I would avoid trying to stack the open render window command (“renderViewWindow”) and the docking command.
I tried both stacked in userSetup.mel but it crashes Maya so I would avoid going that route.
One of the tricks I learned as a photo retoucher back in my university days was that, if you wanted to tile a texture or extend a background, the fastest way is to duplicate the layer and then flip it. When you align the edges, there will be a match at the edges, which is usually easier to clean up than a messy clone job. Well, Maya’s texture nodes let you mirror your U or V texture so that this is done for you without having to head to Photoshop. For something like a plywood reference texture, it works really well:
Obviously, that seam is going to be a little obvious but I am using it as a painting reference, so I don’t need to clean it up. Other textures may be less obvious when mirrored.
It’s almost midnight so, naturally, I’m writing rendering tips. If you use the V-Ray framebuffer – which you should because it’s awesome – you know that the Maya render window will pop up at the same time as the VFB when you start renders. Every. Time. Unless you have the render window open in a pane, there is no way to avoid this until V-Ray 3.0 comes out (it apparently fixes this issue). BUT I have a good workaround that will prevent this madness from occurring again: dock the render window. Open the render window and run this MEL script:
dockControl -area right -content renderViewWindow rendEditorDC;
And you get this magic:
This only works in Maya 2011 and above since earlier versions don’t have the docked Qt interface. Also, make sure to disable the Auto Resize option in the Render window because this will resize your main window every time you render, which will be incredibly annoying.
If you want to prevent Maya from barking an error every time you render with the window docked, you can edit this MEL file to prevent it from raising the Render window. Comment out the line “showWindow $i;” in renderWindowPanel.mel in the raiseRenderViewWindow proc within the /Maya.app/Contents/scripts/others/renderWindowPanel.mel file:
3 notes | Permalink
A while back, I wrote a post about fixing Z-fighting in Maya for viewport 1 and while the same fix is still needed for viewport 2, the newer viewport also suffers from unculled edges that bleed around the object. I work in pseudo-orthographic/long focal length views a lot so the fix – increase the camera’s near-clipping value – needs to be much higher for viewport 2 to address the edge problem:
Hopefully that will save you from being distracted by those weird edges.
2 notes | Permalink
Painting I just finished.
1 note | Permalink