Asset Types
There are a number of file types supported by the UNIGINE assets system. This page contains a categorized list of these file types along with a brief description.
Geometry and Animation#
Mesh is the basic unit, that consists of a set of polygons and is used to create geometry for worlds in a UNIGINE project.
Some meshes can be animated, apart from a set of polygons representing its surfaces, such mesh has a hierarchical set of interconnected bones (a skeleton or a rig) which can be used to animate the vertices of the polygons. Another way to animate a model is to create morph targets (or blend shapes), these are "deformed" versions of a mesh, stored as a series of vertex positions. In each key frame of an animation, the vertices are interpolated between these stored positions.
You can create 3D models, rigs, and animations in an external modeling application (3DSMax, Maya, Softimage, etc.), and then import them to your UNIGINE project via the Asset Browser.
Format | Description |
---|---|
.fbx |
A 3D model or a scene created in an external 3D modeling application. It can contain static meshes, skeletal meshes, animations, morph targets, light sources, and cameras. |
.dae |
A 3D model or a scene created in an external 3D modeling application and stored in DAE format (COLLADA). It can contain static meshes, skeletal meshes, animations, morph targets, light sources, and cameras. Import settings for DAE files are the same as the ones used for FBX import. |
.3ds |
A 3D model or a scene created in an external 3D modeling application and stored in 3DS format (3D MAX). It can contain static meshes, skeletal meshes, animations, morph targets, light sources, and cameras. Import settings for 3DS files are the same as the ones used for FBX import. |
.obj |
Static polygonal geometry stored in OBJ format — namely, the position of each vertex, the UV position of each texture coordinate vertex, vertex normals, and the faces that make each polygon defined as a list of vertices, and texture vertices. The file format is open and has been adopted by other 3D graphics application vendors. If you want to import your 3d model with all materials assigned, you should import all corresponding material library assets (*.mtl files) either prior to importing the *.obj file or together with it. |
.glTF |
glTF (GL Transmission Format) is a royalty-free specification for the efficient transmission and loading of 3D scenes and models by engines and applications. Limited experimental support. |
.stp, .step | A 3D CAD file based on the Standard for the Exchange of Product Data (STEP) format. Is used mostly for solid models. |
.igs, .iges | A CAD file format based on the Initial Graphics Exchange Specification (IGES) 2D/3D vector format. It can contain wireframes, freedom surface or solid modeling representations, or circuit diagrams. |
.brep | Boundary Representation file format. Used for representing shapes by defining boundary limits. |
.stl | A format for storage of stereolithography CAD models. STL files contain only the surface geometry of a 3D object described by triangles. This format is used for 3D printing, rapid prototyping, and computer-aided manufacturing. |
.mesh | Built-in file format, that describes static and skinned geometry. It supports multiple surfaces and variable number of morph targets (blend shapes) for each surface, as well as multiple named animations stored in the single file. |
.anim | Built-in file format, that describes skinned animation. It is used together with *.mesh file that contains a bind pose. Thus, you can have a single skinned mesh (*.mesh) and multiple animations for it. |
Textures#
Textures are images that are commonly used in materials. When a material is applied to a surface, textures are mapped to it. They can be either applied directly, as albedo textures, for instance, used as masks, or the values of the texture's pixels can be used for other calculations. Textures can also be used directly, e.g., as environment cubemaps, or to draw a projection of a Projected Light Source.
Textures are generally created using an external image-editing application, such as GIMP or Photoshop, and then imported via the Asset Browser. Some textures, such as render textures, are generated by the UNIGINE Engine. They generally take some information from the scene and render it to a texture to be used elsewhere.
Several textures can be used in a single material for different purposes. For instance, a material may have an albedo texture, an ambient occlusion texture, a normal map, etc. In addition, there may be a map for the Emission and Roughness stored in the alpha channels of one or more of these textures.
UNIGINE supports the most popular bitmap texture formats (see the table below) along with the following features:
- 8, 16, and 32 bit precision per channel
- Alpha channel
- Baked MIP-levels
Format | Description |
---|---|
.png | Image file stored in the Portable Network Graphic (PNG) format; contains a bitmap of indexed colors under a lossless compression; commonly used to store graphics for Web images. |
.jpg, .jpeg, .jpe, .jif, .jfif, .jfi | Image file stored in the Joint Photographic Experts Group format using lossy compression. |
.tiff | Image file stored in the TIFF (Tagged Image File Format) format using losless compression. |
.tga | Image in raster graphic file format designed by Truevision; supports 8, 16, 24, or 32 bits per pixel at a maximum of 24 bits for RGB colors and 8-bit alpha channel. |
.rgb, .rgba | Bitmap in RGB/RGBA format. |
.psd | Image file created by Adobe Photoshop, a professional image-editing program; may include image layers, adjustment layers, layer masks, annotation notes, file information, keywords, and other Photoshop-specific elements. |
.hdr | High Dynamic Range image. These are most commonly used for environment maps. |
.exr |
Image file stored in the high-dynamic range image file format created by the Industrial Light & Magic visual effects company. Three types of lossy compression that *.exr files can use — B44, B44A, PIX24 — are not supported. To avoid any related issues, please, consider using either uncompressed *.exr files or *.hdr files instead. Keep also in mind that the engine applies compression where necessary, thus using a compressed source image may lead to the output image quality deterioration. |
.pgm | Netpbm grayscale image. |
.ppm | Image file stored in the PPM (Portable Pixmap) format. |
.sgi | Image file stored in the SGI (Silicon Graphics Image) format. |
.ies | IES Profile format defined by the Illuminating Engineering Society (IES). Used to make Omni and Projected light sources cast light realistically based on real-world measured data. |
.dds |
File in DirectDraw Surface format, contains compressed or uncompressed image data, which is optimal for GPUs. The following types of compression are available:
|
.texture | Native format of RGB32F textures used for lightmapping. |
To learn more about importing textures, see the Texture Import Guide.
Materials#
Material defines how the surface, to which it is assigned, will look like: its interaction with lights, reflection parameters, etc. A material asset is generally linked to several texture assets.
The list of supported material assets includes the following:
Format | Description |
---|---|
.basemat |
Built-in type representing a base material, from which other materials can be inherited. |
.mat |
Built-in type representing a user material inherited from the base one. |
.mtl |
Material template library MTL file, that stores description of materials for 3D models in OBJ format. An *.mtl file should be imported together with a corresponding *.obj file referring to it. |
When materials are imported along with a 3D model, only the following source data will be used (if defined):
Textures:
- Diffuse (albedo) texture
- Normal map or bump map
- Specular texture
- Light map
Parameters:
- Diffuse color
- Specular color and power
- Emission color
Sound and Video Files#
Sound assets — are the key resources for creating the proper feeling of immersion in the virtual world. UNIGINE supports virtually the unlimited number of sound sources
Either as mono or stereo files, compressed or not, they can be quickly imported into your project.
In the table below you'll find types of sound and video assets supported by UNIGINE.
Scripts#
Scripts are an essential part of your project representing application logic. UNIGINE has its own scripting language — UnigineScript. It is designed to make coding easy-to-use even for junior programmers and at the same time provide the most optimal Engine usage. Scripts are platform-independent and do not require compilation.
This type of assets can be created and edited in a plain text-editor. You can add scripts to your project via the Asset Browser.
Format | Description |
---|---|
.h | Built-in type representing a header-file for a script written in UnigineScript. |
.usc | Built-in type representing a script written in UnigineScript. |
.cpp (deprecated) | Built-in type representing a script written in UnigineScript. |
Presets#
UnigineEditor allows saving various presets — configurations of different settings (e.g. rendering settings, gravity, sound velocity, volumes of sound sources, etc.). This type of assets can be used to configure worlds within your project.
Format | Description |
---|---|
.render |
Built-in type that determines a configuration of rendering settings for a world. |
.physics |
Built-in type that determines a configuration of physics simulation settings for a world. |
.sound |
Built-in type that determines a configuration of sound settings for a world. |
.launch |
Built-in type that determines a configuration of custom run options for C# (.NET) projects. |
Other Asset Types#
Format | Description |
---|---|
.world |
Built-in type describing a UNIGINE world (scene). One project can include several worlds. So, there is no need to create a separate project for each world. Created in the UnigineEditor. |
.node | Built-in type describing any Node (or a hierarchy of Nodes) of the UNIGINE's virtual world. Created in the UnigineEditor or at runtime via the code. |
.prop | Built-in type describing a property. A property is a "material" for application logic. It specifies the way how the object will behave and interact with other objects and the scene environment. |
.sworm |
Built-in type that stores generation parameters used by the Sandworm Tool to generate a LandscapeTerrain or TerrainGlobal object. Created in the Sandworm Tool.
The functionality described in this paragraph is not available in the Community SDK edition. You should upgrade to |
.track | Built-in type, that contains the sequence of the parameters animated with keyframes along the timeline. Created in the Tracker Tool. |
.ttf | The font in TTF (True Type Font) format. As a raster font, it can be scaled to any size without quality loss or pixelation, and the stored image appears the same when printed as it does on-screen. You can use any existing TTF font or create a new one. |
.path | The path is a spline along which an object can be moved. Such splines can be created, for example, in 3ds Max or via the API, using the Path class and then saved to the *.path file. |
.spl | Built-in type to store world spline graphs. This is a text file based on the json format. A spline file contains all necessary information to define a spline graph consisting of points in 3D space connected by cubic Bezier spline segments. |
.lmap | Built-in type to store Landscape Layer Map. This is a binary file containing albedo, height and mask textures and settings. |
.cs | A C# source code file representing a component used by C# Component System. |