Complex model strategies

When creating highly complex models it is not uncommon to encounter slow compute times and visibility issues which make modeling difficult. The sections below provide details on SpeedTree features that can help diagnose and alleviate these problems.

Delay node and freehand edits

Node and Freehand edits should be used only as finishing touches on an otherwise entirely procedural model. Keeping the model fully procedural allows you to change the structure, randomize, disconnect subsections, and generally just never lose anything about the model while you get most of the structure in place. Node and Freehand edits are subject to being lost if you change the generator that made them or any of its ancestors! Any such changes could change the length of a branch which could affect how many child nodes are spawned from it. This chain reaction could even result in your node-edited node being deleted altogether.

Enable compute times

The length of time required by the most recent computation of the model is shown in the lower right-hand corner of the Tree Window. This time varies greatly depending on how much of the model needed to recompute. SpeedTree is smart about recomputing only the parts that might have changed based on the last edit. You'll notice that edits to the trunk take much longer than edits to just the leaves.

In the “Options” menu on the Generation Editor toolbar, you'll find a section with three options relating to compute time display. Select “Total time” to show how long each generator took to compute during the most recent compute cycle. Use this to diagnose which generators might be causing long compute times. The following list outlines a few common solutions to generators that compute very slowly:

Too many nodes The generator may simply be having to compute too many nodes. Consider just making fewer nodes if possible. Increase the internode length, increase the bifurcation threshold, decrease the absolute number, or just edit any “Generation” property which might reduce the node count.
Too many polygons Consider lowering the segment count on branches or using lower detail meshes on fronds and leaves.
Complex features enabled Features such as welding, splits, and UV patches on branch generators take extra time to compute. Consider not using any features you don't need. Often zeroing out values will disable a feature altogether. “Late noise” is an example of an expensive feature that can be disabled in this manner.

Use Resolution

If you're using the “Cinema” version of the Modeler, take advantage of the “Resolution” options on the toolbar. Switch to “Low” or “Draft” to dramatically reduce the polygon count of the entire model without having to edit each generator's settings. The number of polygons removed is controlled by “Resolution” properties on each generator. These default to reasonably aggressive settings so most models will respond well to drops in resolution.

Keep your model in “Low” or “Draft” while you work. Switch to “High” or “Medium” occasionally to preview the final product or for fine-tuning and exporting.

Note: The model will be exported in the active resolution, so be sure to switch back to “High” or “Medium” if your application requires it!

Use Focus

Focus is the system whereby large portions of the model can be both hidden from sight and ignored during computation. You can still work on generator-level properties while using Focus. Focusing on part of the model usually results in interactive compute speeds which make modeling much more fluid.

Focus on part of the model, make some edits, clear the focus to view the results on the whole model, and then repeat that workflow until the model is complete.

Collapse sections

For complicated Generation, Editor hierarchies consider collapsing subhierarchies of generators. Double click on a generator to collapse its descendants. Generators that have been collapsed are indicated by a triple underline below the icon.

Note: Collapsed generators remain visible in the Tree Window are computed just as they would be were they not collapsed.

Use Conceal and Expose

These actions are part of the “Visibility” toolbar menu and are bound to the hotkeys 'X' and 'C'. Pressing 'C' will hide the highest level visible generators based on what is selected. Pressing 'C' in rapid succession will quickly hide down to the level of the currently selected generator. Pressing 'X' will reverse this sequence.

Use this option to very quickly remove complexity beyond the currently selected generator then restore that complexity just as quickly.

Disconnect subsections

As long as everything in a generator subhierarchy is fully procedural, it is perfectly valid to disconnect the hierarchy and leave it floating in the Generation Editor. Simply click the link that connects the subhierarchy to select it and press 'Delete'. You can restore the subhierarchy at any time by dragging the root generator back onto its original parent (or any other generator as you see fit).

Use batched leaves

If you're using the “Cinema” version of the Modeler, always favor “Batched Leaves” generators over “Leaf Mesh” generators. “Batched Leaves” cannot be node edited but compute and render much faster. You can convert between these two generator types by right-clicking them in the Generation Editor and selecting a “Convert to '*'” option.

Disable computing

If you know you're going to make several edits to a complex model consider disabling computation entirely while you make the edits. Press F11 in the Tree Window to disable computing. You'll see a message in the lower right-hand corner of the Tree Window letting you know that the model will not be computed. Make as many edits as you'd like while computation is disabled. Turn it back on when you're ready to see the results.

Note: “File→Advanced→Open (compute disabled)…” can be used to open a model in the disabled state. Use this to more quickly gain access to the properties when loading a model or to try to load any model that may be saved with an error that causes the program to crash.