COMPUTER AIDED ARCHITECTURAL DESIGN
Workshop
14 Notes, Week of November 1, 2020

Turntable Animation through Grasshopper and V-Ray

These notes describe use of an Grasshopper technique to effect a Rhino turntable-like throught V-Ray. This examples is posted to the Classes examples and Rhino resources folder under the name "Turntable.

1. Launch Rhino, create a few objects near the origin of the primary coordinate system including a ground surface and then open the Grasshopper script "turnTableExample.gh". Alternatively, open the Rhino file "turnTable.3dm" provided in the examples folder and then load the Grasshopper Script "turnTableExample.gh". The Rhino file provided has a solid objects on layer 1, a camera location point and its target location point on layer 2, and a ground surface on layer 3.

rhino perspective view

2. In this example for simplicity sake a single generic light grey V-Ray materials has been created in the V-Ray asset manager and assigned to the objects created inside the Rhino file.

test

3. The Grasshopper Script as a whole is similar in many ways to the Sun Study example of the previous workshop notes. This overview focuses on the added components show in green below (select the image for a larger view).

overview of gh script

4. If you divide the sweep angle of 360 degrees by the number of animation frames, you get the change in camera angle per frame. Thus, if you divide 360 degrees by 180 frames you get a 2 degree change in camera angle per frame. In the examle shown, we divide 360 degrees by 360 frames you get a 1 degree change in camera angle per frame. Note in the screen capture below that the number of frames is used to as an input to setup the scope of the V-Ray Timeline component.

cam angle per frame

5. The number for camera angle per frame (e.g., 1) is input into the data port "deltaAng" for the Python script component used to set the camera positions. In addition the Camera Position point, Camera Target point and the Sweep Angle of 360 degrees are also input into the Python script.

input to python script

6. The code within the the Python script converts the input data to a set of camera positions forming a circular pattern surrounding the the target. This list of camear positions is exported from the script through output variable "b" a. The single camera target position is exported throught output variable "b".

I used a transformation matrix and a minor amount of vector algebra within loop. Double-click with the left-mouse button on the word "Python"to see the script. The details, which are beyond the scope of this set of notes, are shown here for any student with more Python background.

python script

7. The set of camera positions and target is in turn input in the V-Ray Camera component. Here, for illustrative purposes, the number of frames in the animation input into the V-Ray Timeline was reduced to 60 frames such that delta angle is 6 degrees.

camera positions

8. The balance of the script is what has been illustrated in previous workshop notes.

script balance

9. For the final step

        test rendering

When the rendering frames are compiled into an animatino file, such as through the use of OpenShot video editing software, the resulting animation will appear as follows.