Geometry Proxies and Instancing

 

Geometry Proxies

Geometry proxies are where a Revit scene element is used as a placeholder (or “host object”) for an external OBJ file. To do this, add an Revit “Object” element (generally a Component or Family Instance) to the scene – positioned where you want the OBJ file to appear. It doesn’t matter what Object you use, since it will not appear in the render.

 

Important: The proxy “Host” object must NOT be attached to a wall or any object which is not horizontal – since this will add an additional rotation to the proxy host object which will not be allowed for by the plugin and the proxy object will not be rendered with the correct rotation.

 

Now start the OctaneRender for Revit plugin, go to the MaterialsA set of attributes or parameters that describe surface characteristics. tab, and in the Revit preview window select the Object you added.

 

Because the tree object is not yet a proxy, the proxy button is “Not a proxy”. Click that button to setup the proxy information.

 

Now you can open the Viewport to see the result. You will most likely need to scale and rotation the OBJ file to get the result you are looking for, as has been done below. As you adjust sliders in the Geometry ProxyAn object saved as a separate file with the purpose of being reused in larger scenes. This is used to minimize any addition to the total polygon count in the scene, especially if the scene requires the same object to appear several times. If used in conjunction with instancing, Proxies help keep very large scenes from reaching polygon limits and also keeps the relative file size of the main project file manageable. Details screen, the Viewport is immediately updated.

Some OBJ files will not be setup for the Octane XYZ axis system, so will need to be rotated in order to get them upright. For example, the Xfrog OBJ files will need to be rotated X 270 degrees in order to have them upright. Xfrog (and potentially other) OBJ files also contain non-standard material specifications for transparency maps. Edit the MTL file and change any lines with “map_Kd to “map_d”.

If you need to adjust the height of the based of the geometry proxy, simply adjust the “Offset” in the Revit properties of the Revit host object. For example, the Revit tree has been raised 200 units in the image below, and the proxy object in the Octane Viewport has been raised the same amount (remember to click the Refresh button on the plugin Setup window if you have the Viewport open when you do this).

 

InstancingInstancing an object means taking a single imported mesh object, such as an OBJ or an FBX and making multiple copies, each of which can be placed in different parts of the scene. This saves an enormous amount of computational resources because only a single object is loaded into the scene.

Any geometry proxy OBJ file can be instanced via the Octane “scatter” node. The setup of this is handled automatically – you simply need to specify a transform CSV file. The tranform CSV file will appear as follows (refer to the Otoy forums for more details of how to create these transform files):

 

-0.62431361,0.030042023,-0.7055535,-8.0608892,0.466425251415,0.450927870912,-0.315290481408,0.0587645647066,0.626642021525,-0.305702727477,-0.541656398413,6.11109206252

-0.43438864,0.29489794,-0.87598035,4.6149906,0.136319291528,1.37187639156,0.166443532267,-0.188988202778,0.890350115699,-0.0661701051815,-0.452833197394,1.21890752159

-0.48941698,0.8175662,0.66365019,-4.5686788,-0.0575978148745,1.06715131321,-0.671893700617,-0.20106620412,-0.870145899492,-0.530481590811,-0.328803968126,-0.368719910853

-0.69556693,-0.25259736,-0.57225774,6.1048522,-0.443066979564,0.519450844134,-0.129596876879,-0.0438018755731,0.565578535567,0.0962841284689,-0.808136867406,-7.09126028028

 

Each line of the transform contains 12 numbers, representing a the first 3 rows of a 4×4 transformation matrix.

The following image shows 1000 instances of the tree OBJ file that is the proxy of the Revit tree Object.