# engineCreateMaterial (Cliente)

> Crea un material: un shader con valores de parámetros, que luego reemplaza o se superpone a los materiales de los modelos.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Cliente
- **Categoría**: Materiales y shaders
- **URL**: https://wiki.mymp.gg/es/engineCreateMaterial

## Sintaxis

```lua
material engineCreateMaterial([string|shader|material|false base = nil, string name = nil])
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `base` | `string\|shader\|material\|false` | En qué se basa el material: el nombre de un shader, preset o material con nombre, un elemento `shader` o un elemento `material`. Sin base (`nil` o `false`), parte del material que reemplace y solo cambia lo que definas. *(por defecto: `nil`)* |
| `name` | `string` | Un nombre con el que otros scripts y paquetes encuentran el material. No puede estar vacío. *(por defecto: `nil`)* |

## Retorno

El elemento `material` creado.

## Ejemplo

```lua
local glow = engineCreateMaterial("surface_emissive")
engineSetMaterialValue(glow, "glowTint", tocolor(255, 200, 60))
engineSetModelMaterial("infernus", "*light*", glow)
```

### Atención

Una base que no es shader, preset ni material es un error. Un nombre que ya tiene un material de otro dueño pasa a cubrirlo, con un aviso.

## Ver también

- [engineSetMaterialValue (Cliente)](https://wiki.mymp.gg/es/engineSetMaterialValue.md): Define un valor del material: un parámetro del shader, un interruptor estático o el render target de una salida TARGET_n.
- [engineSetModelMaterial (Cliente)](https://wiki.mymp.gg/es/engineSetModelMaterial.md): Reemplaza los materiales elegidos de todas las instancias de un modelo por un material.
- [engineSetWorldMaterial (Cliente)](https://wiki.mymp.gg/es/engineSetWorldMaterial.md): Reemplaza los materiales elegidos de todos los modelos del mundo por un material.
- [engineCreateShader (Cliente)](https://wiki.mymp.gg/es/engineCreateShader.md): Crea un shader a partir de un archivo .shader o de su código fuente. El shader compila en segundo plano.
