Instancing: Crystals & Teeny Tiny Turtles!


This week I spent some time playing with Maya’s instancer. I’ve instanced geometry in the past, but this was my first time particles to randomly scatter instances across a surface. I also experimented with writing expressions to randomize and control the positions of my instanced values.

1. Cave Crystals


For this render, I created a few variations of sharp, rectangular crystal shapes and grouped them together with some rock clusters.

I emitted about 50 nParticles from the ground of a simple cave model, then used Maya’s instancer to populate the crystals across the surface. I created two per-particle attributes for the particle system, one for scale and one for rotation, and wrote a MEL expression to randomize the scale and rotation of the crystal clusters. After messing with the values for a while I was pretty happy with the result.

This was rendered using VRay and lit with two large rectangle lights from the side. The crystals were given a VRayFastSSS2 shader (green subdermal, blue dermal). I didn’t add any glow to the shader because I prefer to do that in the comp, but since this was only a test I didn’t alter the beauty pass in post.

Overall impressions: Not a bad experience! Most of my time was spent trying to fix syntax errors, since I was pretty rusty with writing expressions. I may use this system for the interior cave scenes in my senior project.

2. Teeny Tiny Turtles


This project was confusing, but fun and pretty rewarding! I reused an environment from one of my previous animations and rendered it in V-Ray. I started off by modeling a very simple turtle, soft-binding a few joints to reposition its legs, and making 3 frames of a turtle walk cycle. I duplicated the mesh for each unique frame, then deleted my history and froze the transformations.

I created a directional particle emitter and set the ground geometry as a goal, so that the particles would move flush to the surface of the sand. The ground’s UVs were simply planar-projected from the Y axis, so the UVs were a pretty even grid. Because goal particles move along the UVs of an object, this meant that I could make the particles rush in one direction.

After activating the per-particle attributes “GoalU” and “GoalV,” I added some rules to control the particles’ movements. For GoalU, I created an expression that assigns a random float value between 0 and 1. This caused the turtles to be randomly generated at different points across the U-coordinates of the sand. I then plugged a black-to-white ramp into the GoalV attribute, which caused the particles to move across the surface of the sand towards the water.

Finally, I added the 3 turtle frames as an instance and set the cycle to “sequence.” This replaced the particles with the turtles, which cycle through the 3 frames of turtle walk cycle as they scurry across the sand towards the water.

This project took longer than I had anticipated. At first the UVs for my sand were messed up, and I fought with my emission settings for a while before realizing what an idiot I was. I also experienced a strange glitch with Maya’s viewport, which made the turtle instances disappear whenever I had viewport textures toggled on. For a while I couldn’t figure out what on earth was going on, and was convinced that the instancer was simply broken for some reason. Thankfully I accidentally hit “5” on my numberpad, and was delighted to realize that I had perfectly running turtles when textures were toggled off.


I still need to texture the turtles and render this sequence out, but I’m pretty happy with their motion. It’s no Massive simulation, but not bad for a first try at goal particles. I might go back and add in a few more frames of the turtle’s walk cycle to make the animation smoother and less crab-like, too.