How to model a plant

VEGETATION

Plants are composed as sets that represent up to 4 states of the plant:

  • Alive
    The plan is alive, changes along the year, grows and can produce fruits.
    Some small plants only use this state and dissapear when they die.
    This is the most complex set, using up to the 3 objects described bellow in complex plants.

  • Dead
    Plants can become a dead plant, represented by another model.
    To save resources using the ALIVE model with only winter textures is recommended, but a new set can be done if necessary and the plant truly benefits from it.
    Our recommendation is add support to this state only for very big bushes and trees.

  • Chopped
    It’s a special case of DEAD with different model representing what remains after the plant has been chopped ( for trees ) or cropped ( for small plants where this is meaningful )

  • Rotten
    Dead plants can become rotten plants before they finally disappear as part of the decay process.
    Trunks of dead trees can become rotten or fallen trunks.

Each set can be composed up to 3 objects ( models ):

  • Foliage
    This one is mandatory.
    Small plants like grass, ferns or bushes can ( and should ) be build only with foliage.
    • Vertex color information: WIND + AO
    • Textures: several C, N, T, O

      In ALIVE models to represent the state of the plant foliage along the year several C textures storing the aspect of the plant from spring to winter should be provided.
      Those textures should match as close as possible ( they will be using the same N and O texture )
      Mainly changing the color of the foliage and what can be seen and what not on the alpha channel for different alpha limit values:

Those textures will be interpolated and the result used as final C texture in the final render.

Note: Distance fields can also be used as an advanced technique to modulate non discrete steps in foliage apparition.
Both techniques can be combined for even more control.

  • Flowers
    Plants with powerful flowering that can’t be included in the main Foliage chain of textures can have another dedicated model for flowers.

    • Vertex color information: WIND + SPLIT
    • Textures: C, N, T( if needed ), O
  • Fruit
    Plants producing collectable fruits need a separate object for them with the following setup:

    • Vertex color information: WIND + SPLIT
    • Textures: C, N, T( if needed ), O
  • Growth
    Plants should be modeled at the full size when fully grown up.
    As a rule big items -like big trees or buildings- are modeled as if they were half their size, so a tree that in real life reach 40 meters, should be modeled to reach 20 meters in AC.
    This make vegetation less obstructing and matches well with the real orography data used in AC, which is also scaled by half.
    Small plants like grass, bushes or small trees should be modeled to their real size though.

    Plants growth can be settled to one of this modes, so the plant should be build and designed with this in mind.

    • SCALE
      The plant will be scaled from a small value to it´s full size. Trees don’t usually look fine this way as they appear like a bonsai, but ferns and other small plants, usually with big leaves like this method.
    • PUSH
      The plant will be no scaled but completely buried under the ground and pushed up until it’s bottom reach the surface. This method is preferred for grasses and some bushes.
    • SCALE + PUSH - The plant will be created scaled down to a medium size and buried, pushed up until it’s bottom reach the surface, and scaled to the the full size from here. This is the preferred method for trees.
  • LODs
    Yet planned, AC still doesn’t support an automatic LOD system generation, or automatic billboarding/impostor system generation.

    Maximun supported LODS for plants are 3 levels, but using only LOD0 and LOD2 is recommended when possible to save resources and draw calls:

    • LOD0:
      The model as it’s mean to be seen very very close.
      For trees our recommendation is to remain bellow 3000 faces for foliage and 1500 for trunks with main branches.

    • LOD1:
      Intermediate 3D model with significative less mesh complexity but looking as close to LOD0 as possible ( Only recommended for trees or big bushes )
      Should use the same texture sets that LOD0
      Vertex information like AO and WIND should also match with LOD0, so the recommendation is to build the LOD0 with all the information and start cleaning mesh from there.

    • LOD2:
      LOD2 is mandatory but for plants that are visible only very close to the camera, like grass.
      Can be a billboard, a fan or a very very very VERY low 3d model.
      If using fans or billboards it needs its own texture set including compatible C textures to change color and alpha along the life off the plant.

4 Likes