# Art Asset - Overview / Guidelines

### What is an Asset?

In a production pipeline, (both animated films and video games), art assets are finished pieces that are ready to be used in a scene. Creating an asset is more than making a model and submitting a .blend file. A completed asset involves all of the surrounding work to enable the next person in the pipeline to effectively drag-and-drop the asset into the scene, and have everything just work.

### What's expected?

For a 3D game, a finished asset includes:

#### Art Source Content:

- A .blend source file for the high-res model checked into the `art-source` repository: 
    - file in the right place with the correct 'snake\_case' naming convention.
    - A collection inside the file named correctly for the asset.
- A .blend source file for the low-res model checked into the `art-source` repository: 
    - file in the right place with the correct 'snake\_case' naming convention.
    - A collection inside the file named correctly for the asset.  
        
        - A "collection exporter" set up for the asset saved with the correct export settings, with the export path pointed at the correct location in the `game` repository.
    - UV unwrapped correctly.
    - Materials assigned correctly.
    - Topology prepared for game: 
        - No n-gons
        - Reasonable polycount
        - other validation. - TODO add more about validation.
- A set of input 'mesh maps' saved as .png files in the same folder: 
    - asset\_name\_mesh\_id.png - ID map
    - asset\_name\_mesh\_world\_normal.png - High-res world space normal (16 bit depth).
    - asset\_name\_mesh\_tangent\_normal.png - High-res tangent space normal (16 bit depth).
    - asset\_name\_mesh\_ao.png - High-res ambient occlusion
    - asset\_name\_mesh\_curvature.png - High-res curvature
- A textures set of baked output textures channel packed and saved as .png files in the same folder: 
    - asset\_name\_abedo.png - (Color map aka "Base Color")
    - asset\_name\_normal.png - (16 bit)
    - asset\_name\_orm.png (Channel packed Occlusion, Roughness, Metallic).

#### In-Game Content:

- A pair of asset\_name.gltf + asset\_name.bin files exported into the `game` repository via the "export collection" in the source .blend file.
- One or more materials for the model: 
    - asset\_name\_mat.tres
    - OR e.g: 
        - asset\_name\_head\_mat.tres
        - asset\_name\_body\_mat.tres
        - asset\_name\_armor\_mat.tres
- All textures from the model's texture set imported with the correct settings: 
    - asset\_name\_albedo.png
    - asset\_name\_normal.png
    - asset\_name\_orm.png
- A scene for the asset: 
    - asset\_name.tscn
    - Simple colliders assigned: 
        - [SphereShape3D](https://docs.godotengine.org/en/stable/classes/class_sphereshape3d.html#class-sphereshape3d)
        - [BoxShape3D](https://docs.godotengine.org/en/stable/classes/class_boxshape3d.html#class-boxshape3d)
        - [CapsuleShape3D](https://docs.godotengine.org/en/stable/classes/class_capsuleshape3d.html#class-capsuleshape3d)
        - [CylinderShape3D](https://docs.godotengine.org/en/stable/classes/class_cylindershape3d.html#class-cylindershape3d) - NOTE: this is reportedly buggy, we need to test it before approval, use Capsule instead.
        - If absolutely necessary: 
            - ConvexPolygonShape3D
            - ConcavePolygonShape3D
- LODs created or generated for the model.