# Sprite

## Size

`Size` simply determines the dimensions of a graphic. As **Sprite Objects** are two-dimensional, the `Z` **Value** doesn't actually have any effect.

If you want to display the graphic with the precise pixel resolution, you should ensure that `Size` matches the file's pixel dimensions, and that the **Object's** `Position` **Transformation** place it on the same plane as the **Scene's** **Camera**.

The dimensions should be correct by default when you create a new **Sprite** **Object**, by dragging a graphic from the **Asset Manager**.

## Alpha

`Alpha` determines the opacity of a **Sprite** with 0 being completely transparent and 1 being completely opaque.

![](https://926825830-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKQhJdUBr7YQzfIwmpAZ9%2Fuploads%2Fgit-blob-dc47ec973640232ace8eafeffa3659077de7b934%2Fsprite-alpha.gif?alt=media)

## Flip U / Flip V

The horizontal and vertical coordinates in most *2D* graphics programs are referred to as XY-coordinates. In *3D* applications, though, it is conventional to call these UV-coordinates to differentiate between *3D* *mesh* transformation coordinates and *2D* *texture* transformation coordinates.

The `Flip U` and `Flip V` **Attributes** simply invert the direction of the corresponding axis, meaning that `Flip U` flips a **Sprite** *horizontally*, while `Flip V` will flip it *vertically*.

![](https://926825830-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKQhJdUBr7YQzfIwmpAZ9%2Fuploads%2Fgit-blob-050ce301a9b966efd30c01ead9bf5cc7ad7744a0%2Fsprite-uv.gif?alt=media)

## Sort Index

Because **Incari** works in *3D*, it has no way of automatically discerning the layering order of different elements that occupy the same area in *3D* space. It is therefore necessary to manually define the *sort order* of **Sprites** to ensure that they are layered correctly.

This is done by manipulating the `Sort Index`. **Sprites** with higher values will be rendered above lower values. If **Sprites** have the same `Sort Index` **Value**, then there is no guarantee that they will be shown correctly, and it is therefore recommended that you assign a unique **Value** to each **Sprite** unless you are certain that they will never overlap one another.

![](https://926825830-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKQhJdUBr7YQzfIwmpAZ9%2Fuploads%2Fgit-blob-51ad99b054bf7c0e386be76780d8cb914c14f1a9%2Fsprite-sort-index.gif?alt=media)

## File

This is an [**Asset / Object Attribute**](https://docs.incari.com/incari-studio/2022.1/objects-and-types/attributes/attribute-types/asset-object-attribute) that links the **Object** to an imported **Asset**. This should be assigned by default, when you use the drag-and-drop method to create the **Sprite Object**, but you can assign it manually by dragging a graphic from the **Asset Manager** onto the `File` slot.
