We’ve enjoyed taking a look at the new version of VRay for Rhino and are especially excited about the addition of VRay proxies. In short, a proxy is a crude representation of a complex mesh geometry within modeling space. It’s linked to this mesh geometry, which is imported only at render time. This results in a significantly improved user experience as well as increased speed and complexity of renderings.
The component we’ve put together is similar to Forest Pack, a powerful 3ds Max plugin by iToo software. Like Forest Pack, our Python script offers proxy translation, scaling (1D/2D/3D), rotation, and jitter. The scattering process (executed with Rhinoscript) is slower than Forest Pack; but by keeping the tool within the grasshopper interface, we are able to control proxy parameters while applying them to complex surfaces.
The first test with the tool was a scatter of the classic Campbell’s soup can. We put together a Canstruction generator (for a possible future installation) and tested the proxy scatter at varying densities:
Our second test focused on testing the strength of the tool, so we applied it to a scene with unusually high polygon counts. Although not quite as fast as 3ds Max, the proxies worked pretty well when scattering a forest with millions of polygons:
While proxy scattering is a powerful tool for creating forests and soup can sculptures, it can also be implemented for visualization of architectural components. A modular system, ranging anywhere from a spider joint to the Cleveland Med Mart panels, can be navigated and edited much more quickly by using proxies as placeholders. This enables more robust digital models without the lag.
We realize this ability in VRay for Rhino is brand new, but would like to see more features in future versions. For example, if we could find a way of connecting modeled proxies between VRay for Rhino and VRay for 3ds Max, we would have a lot more control and flexibility in our vis work. Also, the proxy broke when more complex mesh transformations were applied to it (those outside of scale, rotate, and move). If proxies were compatible with something like the ApplyMeshUVN command, we could easily use them to panelize a morphed surface within Grasshopper. It would also be really helpful to vary material properties for each proxy instance.
These may be tall orders, so we’ll put them on the wish list for now. We can now create scenes with millions of polygons and still have parametric control within Grasshopper, so we’re pretty excited about that.
Update: Just found some spare time to get this out. Here is a working copy of the Vray Proxy Scatter for GH. It’s a pretty basic script using Python and Rhinoscript, so it can be edited and improved.
Obligatory disclaimer: the author does not guarantee that these parametric models are bug-free or that they will solve all of your problems. If you find bugs or have suggestions for improvements, please let us know.