Geometry Proxies, and Instancing

Geometry Proxies Geometry proxies are where an ArchiCAD scene element is used as a placeholder for an external OBJ file. To do this, add an ArchiCAD “Object” element 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.

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

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

Click the OBJ Select File button to load the proxy OBJ file. Then Close. The “Not a proxy” button will change to “Is a proxy” to indicate that object has a proxy. 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.

NOTE 1: Materials for an OBJ file are shared for all instances of the OBJ file. So if tree.obj is used 5 time, all 5 instances will share the same Octane materials.

NOTE 2: The proxy information is saved to the ArchiCAD Object, so if you copy and paste the Object, the proxy information will be copy and pasted too.

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”.

IMPORTANT: Proxies will only render when using the OctaneRender Viewport. They will NOT render when using the ArchiCAD Photorender Projection.

Copy and Pasting Proxy Information

Select a proxy host Object and click the “copy” (in the Materials tab of the plugin) to copy the proxy info into the proxy clipboard. Then select a proxy or non-proxy Object, and click “Paste” to paste that info to that Object. It is recommended that you do this whilst the Octane Viewport is not open (since you will need to refresh the scene to see the result).

You can copy an ArchiCAD Object which is a proxy host into the ArchiCAD clipboard, and paste that Object into another ArchiCAD scene – and the proxy information will be pasted too. Remember to save all the proxy materials as defaults first so they get picked up when you paste in the new scene.

The plugin proxy clipboard is cleared when you open a scene, or start a new scene. So you cannot “copy” the proxy info from one scene proxy into another scene proxy.

In summary, to get the proxy information for an Object from one ArchiCAD scene to another, use the ArchiCAD clipboard to copy and paste the ArchiCAD Object.

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 chair Object.

Generating Instance CSV Files

The plugin can generate transform files based on the geometry of a Mesh in your scene. To do this:

The Number of Transforms is the number of instances the generator will attached to create (it will create slightly less than this number, since some transforms which fall outside the range of the Mesh will not be saved. The high limit is 100,000.

The Rotation and Scale randomness factors all add some randomness to each transforms rotation and scale. 0 represent no randomness, and 1 represents 100% randomness for that item.

To generate the transform, click the Generate button and the specify a transform CSV filename. Once the transform has been saved, that filename will be automatically entered into the “Scatter CSV File” field in the Geometry Proxy Details window.

NOTE 1: The proxy and scattering information for an Object is attached to the ArchiCAD object, so if you copy and paste a proxied object, the proxy and scatter details are also copied to the pasted Object.

NOTE 2: Meshes are listed in the “Surface Mesh” combo box by their ID. In some cases ArchiCAD will give 2 meshes the same ID, in which case you will see the same ID twice in the combo box. To resolve this, simply select one of the meshes in the ArchiCAD preview window and change it’s ID name.

NOTE 3: There are limitations in the plugin’s ability to accurately detect holes in a Mesh, specially with curved edges. If you are scattering onto a mesh with holes, keep the holes “simple” and do not used arc edges for the hole.

Generating Grass Blade ABC Proxy Files Refer to the following video for instructions on generating Grass scatter files.

Generating Grass Blades in OctaneRender for ArchiCAD from Paul Kinnane on Vimeo.

If you have not assigned a proxy to an Object, and the Object has an “OctaneProxy_Obj” GDL parameter, then the “OctaneProxy_*” parameters will be used as the defaults to convert that Object to a proxy. Once converted, use the standard proxy dialog controls to adjust the settings (the “OctaneProxy_*” will be ignored after the Object is a proxy host). The parameters are….

“OctaneProxy_Obj” (Text) = the full path and filename (incl OBJ extension) of the OBJ proxy file

“OctaneProxy_ScaleAllAxs” (Boolean)

“OctaneProxy_XScale” (Real Number)

“OctaneProxy_YScale” (Real Number)

“OctaneProxy_ZScale” (Real Number)

“OctaneProxy_XRotation” (Real Number)

|”OctaneProxy_YRotation” (Real Number)

“OctaneProxy_ZRotation” (Real Number)

“OctaneProxy_FaceCamera” (Boolean) <- added in release 2.21.1.38 of the plugin

“OctaneProxy_AlwaysUseParameters” (Boolean), which when ON means that the GDL parameters will always be used for scaling/rotating the proxy, and the Proxy window can not be accessed. <- added in release 2.22.2.44

“OctaneProxy_TransformScatter” (Boolean) added in release 3.3.3.66 of the plugin – when enabled this means the Scatter array will be transformed by the proxy host position/location

Using OCS/ORBXThe ORBX file format is the best way to transfer scene files from 3D Authoring software programs that use the Octane Plug-in such as Octane for Maya, Octane for Cinema 4D, or OctaneRender Standalone. This format is more efficient than FBX when working with Octane specific data as it provides a flexible, application independent format. ORBX is a container format that includes all animation data, models, textures etc. that is needed to transfer an Octane scene from one application to another. proxies