Convert Instancer into geometry

Type: Python Script (py)
Name: sag_instancerToGeometry
Version: 1.4
Released: 2012.05.05

v1.4 - corrected GUI for older maya versions v1.3: - doesn't set visibility to off prior to the starting frame of conversion - doesn't pay attention to 'start from current frame' if custom range is defined v1.2: - reworked GUI - uses long names correctly (no problems with objects of the same name anymore) - doesn't freeze source objects' rotations or error if channels have keyframes - keeps input connections for instances also - works with different rotation orders of source objects and instancer itself - each baked object is inside it's own group which actually gets all keyframes - works with any linear units of the scene (switches to cm and back, actually) v1.1: - duplicates now maintain original input connections - only translate, rotate, scale and visibility are keyframed now

Almost every time I use instancer to duplicate geometry via particles, I inevitably want to convert it’s result into standard keyframed objects to modify or simply delete specific ones.

At last I’ve put myself together and have written a tool for this task.

sag_instancerToGeometry Interface

Read the rest of this post »

Posted on November 14, 2009 at 20:37 by · Permalink · 58 Comments
In: FX · Tagged with: , , , , , , ,

Gallery added

There’s a button to the gallery of my recent works in the top right corner of the blog page. Actually, for a pretty long time already, but only today I’ve finally made it presentable. So, without further ado – you’re welcome to push the mentioned button or the following link – Gallery 🙂

Posted on August 10, 2009 at 22:05 by · Permalink · Leave a comment
In: Misc

Initial values of particle attributes

Let’s say, we’ve set initial state for our particles or just have created them with some defined attribute values via meticulously crafted script, and now we want to change some of them… For example, smoke sprites have various starting scale and then they grow larger with time from it, and we want to make them half their size… Or we simply want to modify mass of exploding object‘s shards (that, let’s say, has been precalculated with respect to the volume of the shard), but without recalculations, re-setups and so on.

Particles with inital mass for each shard

Particles with initial mass for each shard

Read the rest of this post »

Posted on August 9, 2009 at 22:02 by · Permalink · Leave a comment
In: FX · Tagged with: , , , , , ,

New old articles

I’m closing my old site (now leads right into this blog) and thereby moving several old articles that still have valuable info (and also to keep links from other resources working) as backdated posts here. For invaluable help in technical aspects of this deal I want to thank Rastler – check his photography blog here – Rastler Blog

Posted on July 10, 2009 at 5:08 by · Permalink · Leave a comment
In: Misc

Tiling procedurals and Placement mapping

A little trick, pretty simple, but maybe not very obvious. To create coarse surfaces, detailed textures and other high frequency stuff we often use fractal or noise with high value of repeat, that leads to visible tiling:

Fractal with high repeat value reveals tiling

Fractal with high repeat value reveals tiling

We can try to mix it with other noises, but there is a better solution…

Read the rest of this post »

Posted on July 5, 2009 at 3:15 by · Permalink · 12 Comments
In: Render · Tagged with: , , , , , , , , ,

Particle inside a volume and Field Influence checks

Often there’s a need to check whether a particle is inside an object or not and based on that to make something with it (usually kill 🙂 )

We can check the normal of nearest point on mesh, but such a calculation for each particle in each frame becomes very slow with increase of their amount. My friend has written a plugin that returns right away whether a coordinate is inside or outside the volume, but anyway due to slow speed of calculations I often had to avoid this method.

The solution is this – since various volume fields affect a particle when it gets inside their volume, if we can represent the object with a number of such fields and check whether any of them influence a particle, we can find out if it is inside the object. Of course, for difficult forms the result will be inaccurate, but we can create a pack of fields that represent them pretty closely. In any case, that’d be much faster 🙂

Read the rest of this post »

miLabel to control mib_amb_occlusion

There’re two ugly but useful attributes in mib_amb_occlusionid_inclexcl and id_nonself. Along with custom miLabel attribute they can define which objects can occlude, which ones can’t and whether objects self-occlude or not. Key thing to understand here – it is question of just an ability to occlude, not of ability to receive occlusion.

Disabling self-occlusion with miLabel attribute

Disabling self-occlusion with miLabel attribute

Read the rest of this post »

Posted on June 6, 2009 at 23:24 by · Permalink · 2 Comments
In: Render · Tagged with: , , , , , , , ,

Uniform Particle Trails

When the task becomes to get smooth lines, trails or flows/streams via particles, most hopes are put upon Blobby Surface or new Output Mesh for nParticles. Both have their own advantages and problems, a mutual one is how to generate a uniform trail – to get smoothest result with smallest amount of particles used.

First decision that comes to mind is to generate particle trails from base particles using standard emitter. Actually, exactly this way trails would be non-uniform – depending on the speed of main particle-generator, sections of it’s trail would consist of different amount of particles, clumps here, breaks there. To eliminate them you’d need to increase blobby radius that’d thicken overall trail etc. Much more efficient method that I’m going to describe in this post – to generate particle trail via particle expression based on distance that basic particle-generator moves per frame and place them uniformly between this two positions.

Read the rest of this post »

Posted on May 24, 2009 at 21:37 by · Permalink · 13 Comments
In: FX · Tagged with: , , , , , , , , ,

decomposeMatrix plugin

In a standard maya package (at least since 8.5) there’s plugin with a rather foggy for a lot of people name decomposeMatrix. This plugin adds a pretty useful node with the same title that could be used to convert standard 4×4 transform matrix to translation, rotation, scale and shear.

decomposeMatrix Interface

decomposeMatrix Interface

Read the rest of this post »

Posted on May 23, 2009 at 3:33 by · Permalink · 4 Comments
In: Rigging · Tagged with: , , , , , , ,

Copulating mip_matteshadow & IBL

Just recently had a lot of headache trying to force mip_matteshadow shader to reveal IBL texture through itself. Multiple examples on the web utilize mip_mirrorball and mip_cameramap, but what to do with simple latlong image – found nothing. Actually, there were suggestions to use mib_lookup_spherical, but in my opinion synchronizing it with IBL rotations is a pain in the ass. I’ll describe a simple and useful solution I’ve found.

IBL and ground plane to catch shadows

IBL and ground plane to catch shadows

Read the rest of this post »