Note #1: Format Recommendations
Please note that some of the listed tools require additional plugins to be able to load all formats.
(for obj, enable import of smoothing groups in max)
FBX, ABC, OBJ
(Maya cannot import ABC materials out-of-the-box.)
OBJ, FBX, ABC
OBJ, FBX, DAE
The Foundry Katana
OBJ, FBX, DAE
Note #2: Working with Expensive Assets
If you work with expensive (i.e., large) assets, it is of advantage to create simplified proxy assets and switch between them with a global LOD (Level of Detail) attribute. To avoid scattering the LOD attribute all over the rules, it is useful to put the conditions into separate "asset loader" rules:
attr LOD = 0 ... Shaft --> s(diameter,’1,diameter) center(xz) color(shaftC) ShaftAsset ShaftAsset --> case LOD == 0: primitiveCube() else: i("path/to/expensive/asset.obj") ...
Note #3: Working with Large Models
If you plan to create large models, it is of great advantage to implement global CGA attributes into your rule sets that allow to selectively block the generation of polygon-intensive model features. For example, one could replace some high-polygon greek columns with simple cuboids by using an attribute LOD, together with a corresponding condition in the CGA rules.
Let's assume you want to render a large scene with Maya/Arnold and you have a CityEngine scene ready with a LOD switch. By exporting the scene with LOD = 0 to a single .obj file (without any textures) and importing it, for example, into Maya, you are able to quickly setup the lights and camera without overburdening Maya with heavy geometry. Once the environment is ready you can go back to CityEngine and export the whole scene with LOD = 1 to USD files and link them to the render setup.
Below you find a modified version of the Parthenon temple shape grammar example. Note the usage of the LOD attribute:
The temple with LOD = Low, ~90k polygons
The temple with LOD = High, ~675k polygons