Version: 2018.4
Trees
Grass and other details

SpeedTree

SpeedTree is a third-party product by IDV Inc, which provides prebuilt tree AssetsAny media or data that can be used in your game or Project. An asset may come from a file created outside of Unity, such as a 3D model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. More info
See in Glossary
and modeling software focused specifically on trees.

Unity recognizes and imports SpeedTree Assets in the same way that it handles other Assets. If you’re using SpeedTree Modeler 7, make sure to resave your .spm files using the Unity version of the Modeler. If you’re using SpeedTree Modeler 8, save your .st files directly into the Unity Project folder.

Make sure that Textures are reachable in the Project folder, and that Unity automatically generates Materials for each Level of Detail (LOD). When you select an Asset, there are import settings to tweak the generated GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
and attached Materials. Unity does not re-generate Materials when you re-import them, unless you click the Generate Materials or Apply & Generate Materials button. Therefore, it is possible to preserve any customizations to the Materials.

The SpeedTree importer generates a PrefabAn asset type that allows you to store a GameObject complete with components and properties. The prefab acts as a template from which you can create new object instances in the scene. More info
See in Glossary
with the LODGroup component configured. You can instantiate the Prefab in a SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
as a common Prefab instance, or select the Prefab as a tree prototype and paint it across the TerrainThe landscape in your scene. A Terrain GameObject adds a large flat plane to your scene and you can use the Terrain’s Inspector window to create a detailed landscape. More info
See in Glossary
.

Additionally, the Terrain accepts any GameObject with an LODGroup component as a tree prototype, and does not place limitations on the MeshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
See in Glossary
size, or number of Materials used. This is different from Unity Tree Editor trees. However, be aware that SpeedTree trees usually use three to four different Materials, which as a result, issues a number of draw calls every frame. Thus, we recommend that you avoid heavy use of LODA system for building multiplayer capabilities for Unity games. It is built on top of the lower level transport real-time communication layer, and handles many of the common tasks that are required for multiplayer games. More info
See in Glossary
trees on platforms, such as the mobile platforms, where additional draw calls are relatively costly in terms of renderingThe process of drawing graphics to the screen (or to a render texture). By default, the main camera in Unity renders its view to the screen. More info
See in Glossary
performance.

Materials

The SpeedTree Model Importer has a MaterialsAn asset that defines how a surface should be rendered, by including references to the Textures it uses, tiling information, Color tints and more. The available options for a Material depend on which Shader the Material is using. More info
See in Glossary
tab to improve the workflow for handling SpeedTree Material Assets. See documentation on the SpeedTree Model Importer’s Material tab page for more information.

Casting and receiving real-time shadows

To make billboards cast shadows correctly, Unity rotates billboards during the shadow caster pass to make them face the light direction (or light position in the case of point light) instead of facing the cameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary
.

To enable these options, select the BillboardA textured 2D object that rotates as it, or the Camera, moves so that it always faces the Camera. See Billboard Renderer
See in Glossary
LOD level in the InspectorA Unity window that displays information about the currently selected GameObject, Asset or Project Settings, allowing you to inspect and edit the values. More info
See in Glossary
of a SpeedTree Asset, check Cast Shadows or Receive Shadows in Billboard Options, and click Apply Prefab.

SpeedTree import settings
SpeedTree import settings

To change the billboard shadow options of instantiated SpeedTree GameObjects, select the billboard GameObject in the Hierarchy window and tweak these options in the Inspector of the Billboard RendererRenders Billboard Assets, either from a pre-made Asset (exported from SpeedTree) or from a custom-created file that you create using a script at runtime or from a custom editor, for example. More info
See in Glossary
.

The trees you paint on a Terrain inherit billboard shadow options from the Prefab. Use BillboardRenderer.shadowCastingMode and BillboardRenderer.receiveShadows to alter these options at runtime.

Known issues: As with any other renderer, the Receive Shadows option has no effect while using deferred rendering. Billboards always receive shadows in deferred path.


  • 2019–01–29 Page amended

  • Added information about SpeedTree 8 and related links

Trees
Grass and other details
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961