M MY Multiplayer: Wiki
Lado
Tipo

dxDrawRectLight

Cliente

Ilumina desde un rectángulo durante un solo fotograma, sin crear un elemento.

bool dxDrawRectLight(float x, y, z, float normalX, normalY, normalZ, float width, float height, float radius, color color [, float intensity = 1, float falloff = 4, float barnDoorAngle = 88, float barnDoorLength = 0.2, bool castShadow = false, float tangentX, tangentY, tangentZ = nil])

Parámetros

NombreTipoDescripción
x, y, zfloatPosición de la luz en el mundo, tres números o un vec3.
normalX, normalY, normalZfloatHacia dónde apunta la cara del rectángulo. Tres números o un vec3, finito y no nulo; se normaliza. La luz solo ilumina por delante.
widthfloatAncho del rectángulo en metros, de 0.01 a 100.
heightfloatAlto del rectángulo en metros, de 0.01 a 100.
radiusfloatAlcance en metros, mayor que 0 y hasta 1000.
colorcolorTres números r, g, b (enteros de 0 a 255) o un valor de tocolor. El alfa se ignora.
intensityfloatMultiplicador de brillo, de 0 a 1000. En 1, una luz blanca brilla con una radiancia HDR de 12.por defecto 1
fallofffloatExponente del desvanecimiento hacia el radio, de 0.1 a 32. Valores mayores mantienen la luz fuerte más cerca del borde.por defecto 4
barnDoorAnglefloatÁngulo de las aletas desde la normal, de 0 a 90 grados. De 88 en adelante no tapan nada.por defecto 88
barnDoorLengthfloatLargo de las aletas en metros, 0 o más.por defecto 0.2
castShadowboolSi la luz proyecta sombras.por defecto false
tangentX, tangentY, tangentZfloatDirección del ancho del rectángulo, tres números o un vec3. Si se omite, se hace a partir de la normal y del eje vertical del mundo. Un vector nulo o paralelo a la normal registra un aviso.por defecto nil

Retorno

true si la luz entró en la cola del fotograma. false cuando ya hay 256 luces en la cola, o con un argumento incorrecto.

La luz dura un fotograma. Una llamada hecha antes de dibujar el mundo (por ejemplo en onClientPreRender u onClientRender) ilumina ese fotograma; una hecha después ilumina el siguiente. Las llamadas hechas mientras no corre ningún fotograma se descartan. Pasar de 256 luces en un fotograma registra un aviso una vez, hasta que un fotograma deja sitio en la cola.

Ejemplo

addEventHandler("onClientPreRender", root, function()
    dxDrawRectLight(1481.0, -1771.0, 22.0, 0, -1, 0, 4, 0.5, 12, 255, 60, 200, 3)
end)
Si vienes de MTAMTA no tiene luces dinámicas.

Ver también