With the help of the patient people in the python_inside_maya forum, I’ve improved the Voxelize Meshes Script, mostly by more efficient use of the allIntersections method.
Instead of checking each point on the grid to see whether it’s inside one of the target meshes, this version shoots rays through the meshes along each axis and puts blocks at the intersections. This makes it approximately a zillion times faster, though I’m sure it could still be improved.
Update:Richard Kazuo from the p_i_m forum has excised lingering traces of pymel from my script, I’ve updated the code below with his improved version. It should now run with Maya’s default Python installation. Thanks Richard!
Update 2: Here’s the even-more-efficient voxelize_meshes_v.3.py … I’m putting this to bed now.
Nice direction and art direction on this – the shading, lighting, and fx tricks are impressive. The exaggerated style of the character models felt appropriate as well… big hands, Gumby proportions. It’s a tricky thing to get something simple to look like it ain’t.
This script will voxelize an animated mesh. It creates an array of cubes which fills the bounding box of the mesh’s motion through its animated range, and animates the visibility of each cube over the frame range based on its proximity to the mesh.
It’s quite slow, and would be faster if it used my octree, but it’s a start.
Please find below an expanding object-oriented octree implemented in Python with PyMEL for Maya. In this configuration, the octree functions as a space-partitioning scheme used to quickly find intersections between the bounding boxes of objects in scenes with many objects. It is not perfect but it does the job.
Another frozen moment… but the revealed characters and the sense of scale at the end are intriguing. The pacing works for me too, but that may have more to do with the Massive Attack track.
This donut was grown on the banks of the Upper Avon, and is popularly known as Shakespeare’s Donut. First described by Washington Irving, it was later the inspiration for the plan of the Globe Theater. Not coincidentally, a globe’s outer surface may be described by the transverse rotation of a sideways donut. However, this is not recommended.
Here are 2500 cubes all smushed into another cube without overlapping, which I accomplished by means of a cleverly-arranged series of object-oriented whistles and knobs in just over two of your Earth minutes.