The Chinese Garden

(Please forgive the lack of diagramation)

I worked on this project in my spare time and took a little bit more than a year to be finished. Although the focus is the Chinese Pavilion, the vegetation and all the workflow involved took a good slice of the time. This image is a rendition of the Chinese Garden located in the beautiful Huntington Botanical Garden in San Marino, California.

This project, the first relevant personal work made in the past 6 years, happened during a transitional period of my professional life, when I left Blur Studio after being there for 4 years and started at Blizzard Entertainment, in the Cinematic Department..

I had 2 primary goals, the first was the artistic side: I wanted to see how far I could go (or how short I'd fall :) ). In this period without doing personal work I absorbed some artistic concepts but ended up not exercising them too much due to the technical side of my recent work. Other than the artistic side, I dedicated a good amount of time on the process itself. I wanted to find approaches which would allow the completion of a resource-demanding project - everything was pretty much rendered in a single pass - in a relatively modest computer (I started it with an AMD  Phenom, 8Gb RAM).

For this project, which used lots of Mental Ray Proxies, I've developed scripts to scatter grass proxies over the ground, to switch back and forth between geometry and proxies' point clouds (it's impossible to see geometric penetration in point clouds), managing massively transformations of vegetation instances and for the trees generation.


The Pavilion


I modeled the pavilion using photos as reference. The roof tile distribution was made using scritps to ensure that each tile was distanced equally. Externally one side of the pavilion was modeled and then rotated and cloned 5 more times. Internally some strucutures needed to be modeled individually.


Tree generation




Originally I didn't have the intention of spending too much time modeling the surrounding environments, specially trees, but despite the fact that the final render would be close to 3000x4000 pixels, any royalty-free trees found on the web didn't have enough resolution, usually having leaves not connected to the branches, I needed to model the trees as well. I modeled probably 80% of the visible trees. For that I've developed a script that allowed me in a matter of a few minutes and a few clicks to have reasonably complex trees. The script creates branch-splines on selected splines. The created splines will have their sizes based on how close their base is to the parent branch. The process repeats and new sub-branches can be easily created. The leaves are then created in the same fashion: any selected spline will have groups of leaves, chosen from a library.



All rocks in this project are Mental Ray Proxies. Each rock has 750,000 polygons. A script was used to manage and switch between MR Proxies and Geometry, so the placement of vegetation around would be easier. The rocks are variations of a geodesic sphere with multiple noise layers to sculpt the topology and a combination of procedural maps/bitmaps.




The grass field was created from a library of grass patches modeled out of  individual blades rotated and scaled randomly, grouped together and converted to MR Proxies. Since Scatter and Particles didn't work with MR Proxies, I needed to create a script to plant those groups on the ground geometry.


And here, some close-ups...