User Tools

Site Tools

Placing Nodes on Photogrammetry Meshes

Note: Photogrammetry support is a beta feature in v8.2.0 and is only available in Cinema and Games editions of the Modeler. The documentation for this feature is a work in progress.

It is possible to very precisely locate a branch or leaf off of a photogrammetry mesh using Target generators. The general approach is to add a Target generator as a child of the mesh, use it to pinpoint a location/orientation on the mesh, then add any child you desire as the child of the Target. The children of the target will use the pinpointed locations and orientations as their starting point.

Note: The description of the process that follows assumes you are familiar with the basics of SpeedTree and is more of a guide to the general approach than it is a step-by-step tutorial.

The Setup

First, you'll need a Mesh generator in your model. Import a mesh asset, make a material for it, and assign it to a new Mesh generator. The picture below shows a typical starting point.

Add a Target Generator

Select the Mesh generator and add the “Single target” template. Choose any of the styles to mark a location on the parent mesh. You can choose to cast a ray at the parent, pick the closest point on the mesh, or use the targets' position/orientation directly.

Add a Branch, Leaf, or Mesh generator as the child of the Target. The new generators will use the spot marked by the Target as their starting point. Their initial orientation is controlled by the “Point” and “Align” options on the Target generator.

Edit the Result

You can go back and move a target, change how the child is oriented, delete targets and add new ones. You can also add multiple Target generators and children if you'd like to do something like position branches and leaves off of a mesh.

When using targets to place welded branches off of photogrammetry meshes beware of UV island seam crossings. Make sure the branch is located entirely within a single UV island to ensure no errors in the weld region. The pic below shows a branch with a welding error both in the standard render mode and the texture coordinate seam render mode.

Typical weld error due to uv island crossing:

“Texcoord Seam” render mode illustrating why the error occurs:

Best Practices

The following list outlines a few things to keep in mind when placing children off of meshes with Targets.

  • This method is good for manually placing a few children, it is not suitable for procedural generation. For that, it's better to use 3D anchors.
  • Targets can actually be made the child of anything should you want to place things off of regular SpeedTree geometry this way as well.
  • It's often a good idea to place a few procedural branches directly off of a photogrammetry trunk to help with the blend between photogrammetry and procedural data.