meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
expgame [2022/09/16 10:26] – steph.jorgensen | expgame [2023/11/07 09:31] (current) – steph.jorgensen | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ======Exporting to Game Formats====== | + | ======Games export options====== |
- | In game versions of the SpeedTree Modeler, you can export to a selection of game editor formats. | + | You can export to a selection of game editor formats. |
- | {{ : | + | To export a model for games, select **File** > **Export to mesh** then choose the Games export type. |
- | =====Formats===== | + | For command line export options, refer to [[export_from_the_command_line|Export from the command line]]. |
- | Currently, the exporters for [[impue4|Unreal Engine 4]], [[impunity|Unity]], | + | =====Export type===== |
- | =====Game Presets===== | + | ^**Type**^**Description**^ |
- | You can choose a game preset to simplify the export process and make sure the export settings are correct for the format. You can also make your own presets by saving the dialog settings into the < | + | |**Games**|Export a model with options optimized for games.| |
+ | |**VFX**|Export a model with options optimized for VFX. Refer to [[expstaticmesh|VFX export options]].| | ||
+ | |||
+ | =====Preset===== | ||
+ | You can choose a game preset to simplify the export process and make sure the export settings are correct for the format. | ||
^**Preset**^**Description** ^ | ^**Preset**^**Description** ^ | ||
- | | **Standard** | Optimizes the export for the SpeedTree SDK or static mesh formats. | | ||
- | | **UE4** | Optimizes the export for Unreal Engine 4. | | ||
- | | **UE4 (one draw call)** | Optimizes the export for Unreal Engine 4 and limits it to one draw call. | | ||
| **Unity** | Optimizes the export for Unity. | | | **Unity** | Optimizes the export for Unity. | | ||
| **Unity (one draw call)** | Optimizes the export for Unity and limits it to one draw call. | | | **Unity (one draw call)** | Optimizes the export for Unity and limits it to one draw call. | | ||
+ | | **UnrealEngine (ST)** | Optimizes the export for Unreal Engine and exports the .st file type. | | ||
+ | | **UnrealEngine (ST9)** | Optimizes the export for Unreal Engine and limits it to one draw call. Exports the .st9 file type. | | ||
+ | | **SpeedTree SDK** | Optimizes the export for the SpeedTree SDK or static mesh formats. | | ||
+ | |**Generic FBX**| Export a generic FBX for use in any game engine or DCC application.| | ||
- | =====Combine===== | + | ====Preset options==== |
- | This field is only available when more than one SpeedTree | + | ^**Control**^**Description**^ |
+ | |**Save new preset**|Save the current export settings as a new preset.| | ||
+ | |**Edit preset name**|Edit the name of the current preset.| | ||
+ | |**Delete preset**|Delete the current preset.| | ||
+ | |**Load options**|Load previously saved export options from an .ini file.| | ||
+ | |**Save options**|Save | ||
- | ^**Property**^**Description**^^ | + | =====Show |
- | |**Combine all open models into the same atlas**|Export all open files in the Modeler and combine them into the same atlas. || | + | |
- | |**Atlas name**|Assign a root name to the exported atlases.|| | + | |
- | |**Tree filenames**|Set a naming convention for the exported model files.|| | + | |
- | | ::: | **Sequential** | All model files have the same root name as the current file and are numbered in sequence. For example, OakTree_1 and OakTree_2.| | + | |
- | | ::: |**Tree name**| All model files have the same name as their original .spm file. | | + | |
- | =====LOD===== | + | At export time, if you are not happy with the automatically-generated atlas layout, you can edit it by clicking the button in the top right of the export dialog. If multiple atlases are being exported, you can choose which one is being displayed. |
- | These options set which type of geometry from the tree to include: the fully 3d geometry LODs, the billboard LOD, or all of it. | + | {{edit_atlas.png? |
- | Geometry LODs are what you are editing | + | The tools for editing |
- | If you enable billboards to be exported, one new LOD is added at the end of the LOD transition. This LOD is a very simple mesh made of pictures of the tree rendered from different views. These billboard pictures are all placed into a billboard atlas. All the same material maps that are exported for regular geometry are exported for billboards, so it can fit into your normal rendering pipeline. The game engines handle removing the views that are not facing the camera, and you are left with a simple picture of the tree in the distance. With this method, you can have very dense forests at real-time speeds. | + | > |
- | {{ : | + | =====Options===== |
+ | ====File type==== | ||
- | =====Include===== | + | You can choose a file type compatible with [[impue4|Unreal Engine 4]], [[impunity|Unity]], |
- | This section | + | > |
- | ==Variations== | + | =====Combine===== |
- | [[toolmaterialsassetsbar|Variations]] may be set up in the material. This option enables the processing of variations on export. Instead of requiring the final game engine to have shader code that does the variation, the exporter will simply make new materials and textures with the variation information baked in. | + | |
- | > | + | These options are only available when more than one SpeedTree |
- | ==Vertex blends== | + | ^**Property**^**Description**^^ |
- | Vertex blending is used on small pieces of geometry that need to blend, such as | + | |**Combine all open trees**|Export all open files in the Modeler and combine them into the same atlas. || |
+ | |**Atlas name**|Assign | ||
+ | |**Tree filenames**|Set a naming convention for the exported model files.|| | ||
+ | | ::: | **Sequential** | All model files have the same root name as the current file and are numbered in sequence. For example, OakTree_1 | ||
+ | | ::: |**Tree name**| All model files have the same name as their original .spm file. | | ||
+ | =====Grouping===== | ||
- | ==Leaf references== | + | These options set which type of geometry from the tree to include: the fully 3d geometry LODs, the billboard LOD, or all of it. |
- | Leaf References are null objects in the correct position and orientation for each leaf. These can be used to populate | + | |
- | ==Bones/ | + | Geometry LODs are what you are editing when you make a tree. You can adjust the number of LODs, how the tree changes |
- | Some formats, such as FBX, allow you to include bone weighting | + | |
+ | If you enable billboards to be exported, one new LOD is added at the end of the LOD transition. This LOD is a very simple mesh made of pictures of the tree rendered from different views. These billboard pictures are all placed into a billboard atlas. All the same material maps that are exported for regular geometry are exported for billboards, so it can fit into your normal rendering pipeline. The game engines handle removing the views that are not facing the camera, and you are left with a simple picture of the tree in the distance. With this method, you can have very dense forests at real-time speeds. | ||
- | =====Atlas===== | + | {{billboard_maps.png? |
- | Atlassing is the most important aspect of preparing a tree for real-time rendering. Putting multiple materials into the atlas allows the geometry that uses them to be merged, resulting in fewer draw calls. With aggressive merging, you can make an entire tree that renders in one draw call. | + | =====Include===== |
- | |None|This option does not make an atlas. Each material will export its textures separately| | + | This section |
- | |Non-Wrapping|This option looks at the geometry using each material. If the UVs on the geometry fit within 0-1, then its material will be put into the atlas. Geometry that uses wrapping UVs or otherwise has UVs outside | + | |
- | |Everything|This option puts every material in the entire tree into the atlas. Any geometry | + | |
- | + | ||
- | ==Allow separate atlases== | + | |
- | If you have set materials to go into different atlases on the [[toolmaterialsassetsbar|material asset bar]], this option can let you enable or disable that functionality. | + | ====Lightmap UVs==== |
- | ==Allow V wrapping== | + | Compute and include unique UVs for lightmapping. |
- | When geometry has UVs outside 0-1, they need to be unwrapped in order to be placed in the atlas. If they aren' | + | Available for all options but OBJ. |
- | This is where the V-Wrapping option can help. When enabled, anything | + | ====Vertex blends==== |
+ | Vertex blending | ||
- | See the picture below for an example of a one-draw-call tree where everything has been placed into the atlas, utilizing V-Wrapping so as not to lose texture resolution on the branches. | + | Available |
- | {{ : | + | ====Vertex color==== |
- | ==Separate Materials== | + | Override the model’s vertex colors, including the alpha (transparency) value. |
- | When placing materials into an atlas, these materials get merged together. While they use the same textures, sometimes you may want to split the materials based on a number of factors. For example, a common situation is that leaves need to be two-sided | + | Available for all options |
- | ==Ignore smooth LOD== | + | ====Bones/ |
+ | Some formats, such as FBX, allow you to include bone weighting for further deformation. | ||
- | When exporting to formats that split the geometry up for different vertex shaders (such as .ST for UnrealEngine4), | + | Available |
+ | =====Transform===== | ||
- | =====Geometry===== | + | These options modify the output size and geometry of your model. You can keep the current scene unit, convert to a different unit, change the scale, or flip and rotate the model for a particular coordinate system. |
- | These options modify the output geometry, such as flipping and rotating it for a particular coordinate system. In most of the game-specific exporters, these are either disabled or pre-filled with the most common values for that particular engine. | + | =====Textures===== |
- | In FBX and USD, there is a new option to pack the vertex color how you wish it. Each channel | + | These options deal with the creation |
- | {{ : | + | ====Packing==== |
- | In formats that support it, such as STSDK, this is also where you would supply | + | Game exporting uses the concept of texture packing, where the material maps used in the Modeler are merged, compressed, or otherwise prepared for use in the final game engine. Every engine requires a different texture setup, and we include a number of them with the Modeler. You are able to switch between them easily, even to [[texturepacking|custom ones you write yourself]]. |
- | =====Textures===== | + | ====Format==== |
- | These options deal with the creation and writing | + | This option sets the format |
+ | ====Size==== | ||
- | ==Format== | + | With the size options, you can set the size of the atlas, the size of the billboard atlas, and the max size of any other texture written. |
- | This option | + | ====Include variations==== |
+ | [[toolmaterialsassetsbar|Variations]] may be set up in the material. | ||
- | ==Size== | + | > |
- | With the size options, you can set the size of the atlas, the size of the billboard atlas, and the max size of any other texture written. | + | =====Atlas===== |
- | ==Packing== | + | Atlassing is the most important aspect of preparing a tree for real-time rendering. Putting multiple materials into the atlas allows the geometry that uses them to be merged, resulting in fewer draw calls. With aggressive merging, you can make an entire tree that renders in one draw call. |
- | Game exporting uses the concept of texture packing, where the material | + | ^**Control**^**Description**^ |
+ | |**None**|This option does not make an atlas. Each material will export its textures separately| | ||
+ | |**Non-Wrapping**|This option looks at the geometry using each material. If the UVs on the geometry fit within 0-1, then its material will be put into the atlas. Geometry that uses wrapping UVs or otherwise | ||
+ | |**Everything**|This option puts every material | ||
+ | |||
+ | ====Allow separate atlases==== | ||
+ | If you have set materials to go into different atlases on the [[toolmaterialsassetsbar|material asset bar]], this option can let you enable or disable that functionality. | ||
- | =====Atlas Editing===== | + | ====Allow V wrapping==== |
- | At export time, if you are not happy with the automatically-generated | + | When geometry has UVs outside 0-1, they need to be unwrapped in order to be placed in the atlas. If they aren't, these UVs may start referencing |
- | {{ :edit_atlas.png? | + | This is where the V-Wrapping option can help. When enabled, anything that wraps in the V direction will get placed in the atlas such that its top and bottom edge touch the top and bottom of the atlas. Thus, V-wrapping UVs will work just fine and you keep much more of the texture resolution. You still need to be cognizant of U-wrapping, but since branches wrap a lot in V and not so much in U, this is a great feature when putting branches into an atlas. |
- | The tools for editing are translate, rotate, scale uniformly, and scale non-uniformly. Once a tool is selected, simply click on a texture in the atlas and drag the mouse to perform | + | See the picture below for an example of a one-draw-call tree where everything has been placed into the atlas, utilizing V-Wrapping so as not to lose texture resolution on the branches. |
- | > | + | {{tree_atlas.png? |
+ | ====Separate materials==== | ||
- | =====Exporting From the Command Line===== | + | When placing materials into an atlas, these materials get merged together. While they use the same textures, sometimes you may want to split the materials based on a number of factors. For example, a common situation is that leaves need to be two-sided but branches should cull backfaces. Enabling " |
- | Full SpeedTree Games also has the option | + | ====Ignore smooth LOD==== |
+ | |||
+ | When exporting | ||
- | | -h|Show help/ | + | =====Billboard===== |
- | | -export_game < | + | |
- | | -export_options < | + | |
- | | <any other file> | + | |
- | The export options .ini file you can pass on the command line is the same one you can save using the button | + | Determine how to treat billboards |
- | >**Note**: On Windows, if you run the .exe directly, the command line will return immediately and may not receive output from the process until it finishes | + | ^**Control**^**Description**^^ |
+ | |**Faces**|Set how many faces to render on a billboard.|| | ||
+ | |**Top down**|Include top-down faces in the billboard.|| | ||
+ | |:::|**Top down height %**|Set where to put the top-down geometry in the billboard mesh (from bottom to top).| | ||
- | | cmd|start /WAIT <exe> < | + | =====Format-specific===== |
- | | PowerShell|Start-Process -Wait -FilePath <exe> -ArgumentList '< | + | |
+ | When exporting an animation, different cache formats have options that will appear in this section. | ||
+ | These options are available for USD and SpeedTree SDK exports. | ||
+ | =====Extra===== | ||
+ | ^**Control**^**Description**^ | ||
+ | |**Show summary**|Shows a summary of the export settings when the export completes.| | ||
+ | |**Skip texture save**|Doesn' |