Model Assets
Currently, Creator supports model files in FBX and glTF formats.
- FBX: FBX 2020 and earlier file formats are supported.
- glTF: glTF 2.0 and earlier file formats are supported, please refer to the glTF models documentation for details.
For how to export these two model files from third-party tools, please refer to the Importing Models Exported from DCC Tools documentation.
Model Import
After importing into the editor, from the outside, the corresponding model asset file can be obtained in the Assets panel. It's directory structure is as follows:
The structure of a model file without animations is as follows:
The structure of the model file that contains animations is as follows:
.material
-- Material files.mesh
-- Model files.texture
-- Model texture files.animation
-- Model animation files.skeleton
-- Model bone files.prefab
-- Prefab files that are automatically generated on import
Mesh File
Mesh File contains vertices, index, and texture coordinate data. When a mesh file is selected in the Assets, the Inspector will show the information of the mesh, also the mesh can be previewed in the bottom panel.
Property | Description |
---|---|
Vertices | number of vertices |
Triangles | number of triangle |
UV | indices of texture coordinate |
MinPos | minimum position of mesh |
MaxPos | maximum position of mesh |
Using Models
After importing a model file, drag the root node of the model file directly from the Assets panel to the node you want to place in the Hierarchy panel to complete the node creation. At this point the model is successfully created in the scene.
Alternatively, to expand the node of the model file, select the .prefab
file under the model file node, and drag it from the Assets panel into the Hierarchy panel to complete the creation.
Model asset Properties
When the model asset file (.fbx
or .gltf
) is selected in the Assets panel, the properties of the model asset can be set in the Inspector panel.
There are four tabs to choose from:
Tab | Description |
---|---|
Model | Used to set options related to model mesh import. |
Animation | Used to view and edit model animation clips. |
Material | Used to set options related to the import of model materials. |
FBX | Used to set options related to FBX file. |
Model
Property | Description |
---|---|
Normals | Normals import setting, including the following four options: 1. Optional: Import normals only if the model file contains normals. 2. Exclude: Do not import normals. 3. Required: Import normals that are contained in the model file, or recalculate if not contained. It is recommended to use this option if the model data itself is fine, without additional processing. 4. Recalculate: Recalculate normals and import, ignoring whether if the model file contain normals. Selecting this option will increase the calculated amount, but it will eliminate the subsequent problems caused by the absence of normalization of the model's original normal data. |
Tangents | Tangents import setting, including Optional, Exclude, Require and Recalculate four options, option feature can refer to the description of Normals, the two are not very different. |
Morph Normals | Import the deformation normal information, including: Optional: Import only the deformation normals contained in the model file, for cases where you know your model data very well. Exclude: Not to import deformation normals. |
Skip Validation | Skip validation of the model file. |
Disable mesh split | Currently there is a joint-counting-based mesh splitting process during the import pipeline to workaround the max uniform vector limit problem for real-time calculated skeletal animation system on many platforms. This process has a preference impact on other runtime system too. So if it can be pre-determined that the real-time calculated skeletal animations (when useBakedAnimation option of the SkeletalAnimation component is unchecked) will not be used, this option can be checked to improve preference. But note that toggling this would update the corresponding prefab, so all the references in the scene should be updated as well to accompany that. Please refer to the following for details. |
Allow Data Access | Identifies whether all mesh data in this model can be read or written. If unchecked, the grid data will be automatically released after it is committed to the CPU |
Promote Single Root Node | If enabled and there is only one root node at the top of the model scene, then that node will be the root node of the Prefab, otherwise all root nodes of the scene will be the children of the Prefab |
Disable Mesh Split
The policy for Disable mesh split in v3.6 is as follows:
- By default, the model is not split and no changes are made to the imported model data (the previous model settings are also maintained)
- If the number of bones does not exceed the actual runtime drive limit, pass it directly using uniform
- If the number of bones exceeds the limit, use texture pass
Mesh Optimize
Property | Desc |
---|---|
Vetex Cache | Reorder triangles to improve the vertex cache hit rate. |
Vertex Fetch | Reorder triangles to improve the vertex fetch efficiency. |
Overdraw | Reorder triangles to reduce overdraw. |
It is recommended to enable the above options for meshes with high vertex count. If multiple options are enabled simultaneously, the optimization algorithm will automatically adjust parameters to achieve the best result.
Mesh Simplify
Property | Desc |
---|---|
Target Ratio | Target ratio of the simplified mesh data, recommended to set to 0.5 |
Auto Error Rate | Whether to calculate the error rate automatically |
Error Rate | Tune it until you get a good result |
Lock Boundary | Whether to lock the boundary of the simplified mesh data |
The known issue is that there may be a loss of UV layout after mesh reduction. Developers should pay attention to warnings at the bottom of the inspector to determine whether to use this option.
Mesh Cluster
Property | Desc |
---|---|
Generate Bounding | Whether to generate bounding sphere and normal cone for clustered mesh |
Mesh Compress
Property | Desc |
---|---|
Encode | Encode to binary format to reduce file size |
Compress | Use zlib, which is based on LZ777 and Huffman coding, for compression |
Quantize | Quantize the mesh data, compress float-point values to reduce file size |
LODS
The mesh importer will automatically take sub-meshes end with _lodN as a LOD node, if none, you can use the auto LOD by checking the LOD check box.
The LOD1 and LOD2 options are used to set the ratios of the triangle count for different levels.
For more, please refer to Level Of Details.
The algorithm details for the above options can be found in the open-source library: https://github.com/zeux/meshoptimizer
Animation
The above image is all the animation asset information under the current model, and the editing area of the specific frame number information of the currently selected animation. You can change the animation name or perform simple animation cropping here. To do so:
Click the + button in the red box on the image to add an animation clip asset. The new file added by default copies a complete clip data. You can input the number of frames in the
Start
andEnd
input box to crop the animation. (Drag and drop animation is not currently supported)Click the - button in the red box on the image to delete the currently selected animation file
Material
The top half of the properties are described below, while the bottom half shows the materials contained in the current model.
Property | Description |
---|---|
Dump material | It is possible to customize or modify the material that comes with the model file. Enable this option to dump the material files in the file structure directory out of the model assets for modifying the materials. |
Material dumper directory | Specify or view the directory location for the dumped files. |
Use vertex colors | Whether to use vertex colors. |
Depth-write if blending | Enable depth-write when Alpha mode is Blend. |
FBX
Property | Description |
---|---|
Animation Baking Rate | Units are frames per second and options include auto, 24, 25, 30 and 60. |
Promote single root node | When this option is enabled, if the FBX asset contains a scene with only one root node, that root node will be used as the root node of the prefab when converting the FBX scene to a Creator's prefab. Otherwise, the FBX scene will be used as the root node. |
Prefer Local Time Span | If this option is checked, imported FBX animations will use the animation time range recorded in the FBX file as a priority. If this option is not checked, the animation time range from the FBX will not be used, and the animation time range will be calculated roughly. Some FBX tools may not export animation time range information, so the animation time range is also calculated roughly. |