Maya and STL – Connected vertices done right

Intro For the third and last part1)I do have an idea for an optimization related addendum to this though, so I might be lying here, there might be a part 3.5 of the whole STL thing, of which you can find the previous part here, we’re going to finally look at actually using STL instead of Maya arrays, why, and what the benefits will be. This is probably the most practically useful part, and ironically also the shortest. The whole point being made is, after all, that using STL will save you time. Enough time that there won’t be much code to it2)fluff will therefore be added freely to inspire further reading on your side!.   Neighborhood cache The first thing to look at is multi-dimensional containers. Maya does have some containers that are actually 2D containers. MPointArray, MVectorArray and so on are actually 2D Arrays of a fixed width under the hood. What Maya doesn’t provide that STL does however is arbitrary containers of anything of arbitrary dimensions3)you can work around this by using plain arrays of pointers to Maya arrays that are manually allocated on the free store, but then you also have to take care of manually … Continue Reading →


Maya and STL – Deep Connected Vertices

Part 2, something practical Given the previous post might have been informative, but somewhat inconclusive in showing why you would care about STL1)the containers part of the Standard Library is referred to as simply STL this time around we move right away to a practical example of how you could do things without STL, and in a follow up we’ll look at the STL alternative.   Vertex Neighborhood problems Maya offers a single straightforward way to get the neighborhood of an arbitrary point: the getConnectedVertices() method in the mesh vertex iterator. It’s a suitable place and a reasonable layout, but it has one issue, the degree of topological connection is limited to 1; only the immediately connected points are available, if you want the points connected to the connected points you’re on your own. Sampling data around a vertex, with around being the topological geography of it, is an incredibly common operation that a lot of important algorithms use2)I’d say Laplacian based operations like Smoothing/Relaxing geometry or vertex attributes are the most common and the most intuitive; a lot of the time the immediate neighborhood is all you need, but not infrequently you need a deeper neighborhood. Smoothing skinning weights … Continue Reading →


Bridging The Gap, Standard Library and Maya

Over the years I’ve found myself needing large enough, or better served, containers than what Maya provides out of the box. After years of ad hoc hacks or local, thin wrappers I decided to start cooking a more extensive and reliable wrapper/bridge between Maya’s somewhat aging facilities and some of the Standard Library facilities1)C++’s Standard Library. Having had the capital idea of leaving the Australian summer to spend time home when the weather is finger blackening cold I thought I might as well kill some time, and write about a few bits of interest as I go. The following is just about equal parts ramblings and some notions and explanations of fundamentals of C++ and how they apply, with a handful of listings to exemplify things. Maybe they’ll be of use to someone, maybe not. If you know enough Maya and enough C++ to cobble together a plugin, but not quite enough to risk tossing around raw pointers and pointer arithmetic, and intend to use the Standard Library containers, this could be for you. If you are an intermediate programmer with enough knowledge of C++ and the Standard Library, then this might all be obvious and trivial. If you are … Continue Reading →


Maya Math Nodes Available for Download

A small collection of foundation Math Nodes for Autodesk™ Maya™ is now available from the same titled page in my tools section. It will be updated with new builds and doco as I get around it, currently includes 2013 and 2014 compiles for win64. You can get them here As builds and doco will be added I’ll update with posts and tweets with the tag #RF_mathNodes


Python in Softimage Workshop Available from CGSociety

So, finally, after they trialled and betaed the system into a well polished effort, CGSociety has released their first set of TODs, and I can proudly claim I was the first one to bug them to tears about it, and have mine converted over, together with some prestigious titles that made it to the first set of releases. What they are is, or at least mine is, all the videos, literature, homework and all of the CGSociety workshop bundled and edited together preserving the week division as chapters, with the most prominent and useful of threads from the assisted workshop preserved (of course with permission of the original alumni!) as added help guiding and seeing others at work. The lot offered for about a fifth of the price. You can find it here: http://tod.cgsociety.org/index.php/home/view/technical_direction_in_xsi_with_python After so many hours spent working on mine back then, but short of the hours and strength to run it another time these days, I’m very glad it’s going to see new life and be available again instead of digitally rotting on a virtual shelf somewhere. Thanks for reading, and if you end up buying it, I hope you’ll enjoy it. It was a pleasure and … Continue Reading →


Back Online

So, after years, literally, of this domain being parked and inactive I decided to have an online presence again. The domain is now linked in some of my profiles around various websites/communities I participate in, but at the moment there’s not much here to talk about. I’m still digging for layouts and plugins I like, rearranging things around and all that, but hey, at least I finished shovelling all the systems side crap to get the hosting and framework where they needed to be. If you have any interest in what I do, please do come and check this site out again in the future. Hopefully by the end of the month it will be where I want it to be, and receive updates regularly. Thanks for stumbling into this, hopefully it didn’t hurt. Cheers, Raff