Project 5: Python Scripting – Due: 4/28/2022

For this project, we were tasked with creating an animation via a Python script. I chose to follow the tutorial path for this project which involved created a central glowing sphere surrounded by randomly positioned multicolored hexagons that would revolve around and get closer to the central sphere. Here is an initially rendered image of the final result:

Initial Image

In this image, I had used the UI input to create an animation that has 200 hexagons that all have different randomly assigned colors. As you can see below, there is a small UI window that pops up to allow the user to input their desired specifications for the animation, including the amount of frames the animation should run for (I used 500 for my animation), which axis the hexagons should rotate around the central sphere (I used Y in this case, but you could also use X or Z) , and the number of hexagons the user wants in the animation (I used 200):

Example of UI window

Then after running the script, the scene should be completely set up. All hexagons should have different colors, and the central sphere should have a shader attached to it, as well as a point light within it. The keys for the animation will be set at the start frame, the halfway point, and the end frame to give the effect of the hexagons being pushed and pulled by the central sphere. There is also a directional light that will be created to show of more of the color of the hexagons that are created during the animation. This was proposed by the tutorial video and helps to make the scene a little less dark. This is what it all looks like once the script is finished running:

Post-script results

As you can see in the Hypershade window, all colors are made individually for each hexagon, as well as the shader for the central sphere. The hexagons with their aim and point constraints are put into a single group called “mainHex_instance_grp_1”, and the initial locations are for the hexagons are kept in the “expansion_locator_grp1” in order to allow for them to return to their initial position after being pulled in by the central sphere. Additionally, I made it so that each time the script is run, a new file is created so there is no hassle deleting everything in a scene in order to make a different one. I also have the animation play on a continuous loop when played in maya, just to get a better visual of the “breathing” effect of the hexagons. Below you can see the full animation:

Final Animation version
Final Project Animation

After quite a bit of rendering an playing around with Maya, we finally got the final animation to come together. Part of the reason it took so long was because of the problems we were having with rendering. Arnold rendering was not working on Sofia’s computer, and then we started to see the watermark when I tarted to render. We realized that Arnold recently decided to require a license to render without a watermark. And all this was after we got Maya to stop crashing when trying to render. The project was filled with issues and some of the videos were not the quality we wanted, but I still think the animation looks nice, and flows somewhat coherently.