Umbra optimization can be configured using various parameters. Parameters generally affect output quality and size, as well as optimization speed. Setting the parameters is discussed in API documentation
All parameters specifying sizes or distances are in meters. The units-to-meters parameter should be specified if the input scene is not using meters.
A parameter may be specified multiple times, with the last time overriding any previous ones.
Some parameters act as shorthand notations for a more complex set of parameters (content-profile in particular). Specifying any of the settings modified by such parameter set individually will override the one specified by the parameter set, regardless of order in which they were specified.
We recommend first-time users to start by specifying content-profile, units-to-meters and feature-size. The parameters are listed roughly in order of importance.
|content-profile||string||'unknown'||Sets reasonable default parameters for a specific type of content. Must be one of 'dcc' 'scanned' or 'unknown'.|
|units-to-meters||float||1.0||Ratio for converting input scene units to meters. For example, if your scene is in feet, a value of 0.3048 will work as intended.|
|feature-size||float||None||Smallest feature that Umbra attempts to capture. See Optimization for details.|
|texel-ratio||float||1.0||Ratio of texture feature size to geometry feature size. See Optimization for details.|
|geo-transform||float*16||Identity||Matrix that transforms the scene local coordinates into ECEF (Earth-Centered, Earth-Fixed) coordinates. Input should be a comma-separated list of 16 floats, expressing a 4x4 matrix in column-major order.|
|point-cloud-connect-radius||float||0.25||Largest distance over which holes in point clouds can be patched. This has no effect on areas where the point cloud density is high. Large values may result in artifacts and are slower to optimize.|
|vertex-normals||bool||true||Toggles output of vertex normals and tangents. Normals are needed for runtime lighting, and can be disabled if runtime lighting is not desired. Reduces output size slightly if disabled. Useful for scanned content.|
|backface-removal||bool||false||Attempt to remove backfacing geometry from the output scene (.e, insides of closed objects), reducing output/streaming size by up to 50%. The input scene must have well defined triangle winding and avoid 2-sided triangles for this feature to work|
|ao||bool||false||Toggles ambient occlusion baking. See Material Model for details.|
|ao-distance||float||0.5||Set maximum distance at which ambient occlusion tries to find occluders. A high distance results in softer but generally darker lighting, while small values produce clearer darkening in corners. Should be small in relation to input scene size.|
|ao-intensity||float||1.0||Intensity multiplier for ambient occlusion effect. 0 is equivalent to disabling ambient occlusion, while 1.0 is the maximum.|
|hdr-output||bool||false||Forces 32-bit floating point rgba diffuse texture, overriding any other settings for diffuse format. Also enables the full floating point range for diffuse texture values|
|texture-diffuse||bool||true||Toggles output of texture. See Material Model for details.|
|texture-metaindex||bool||true||Toggles output of per-pixel metadata. No metadata will be output if there is none included with the input, even if this toggle is enabled. Metadata allows assigning a type identifier to each texel. These type identifiers can be queried at runtime. Umbra does not assign any meaning to these identifiers; this is left for the API user. When reconstruction forces multiple identifiers onto a single texel (due to downsampling at less detailed LOD's), only the most common identifiers are stored.|