Saltar al contenido principal

Resumen de la API de Lua

Esta es toda la API pública de Lua disponible en Play Mode del editor y en una compilación de PS1. Los nombres distinguen entre mayúsculas y minúsculas. Los parámetros opcionales aparecen entre corchetes. El archivo .polygon/lua/POLYGON_LUA_API.md generado dentro de un proyecto configurado proviene de la misma declaración del engine y es la referencia local exacta de la versión instalada.

Callbacks del ciclo de vida​

Devolución de llamadaCuando se ejecuta
Awake(gameObjectId)Una vez cargado el Lua Behaviour.
OnEnable(gameObjectId)Siempre que el Lua Behaviour se vuelva activo.
Start(gameObjectId)Antes del primer Update.
FixedUpdate(gameObjectId, fixedDeltaTime)En la etapa de simulación de 30 Hz limitada.
Update(gameObjectId, deltaTime)Una vez por cuadro renderizado.
LateUpdate(gameObjectId, deltaTime)Después de Update.
OnCollisionEnter(gameObjectId, otherGameObjectId)Cuando se inicia una colisión.
OnCollisionStay(gameObjectId, otherGameObjectId)Mientras la colisión permanece activa.
OnCollisionExit(gameObjectId, otherGameObjectId)Cuando termina una colisión.
OnTriggerEnter(gameObjectId, otherGameObjectId)Cuando comienza la superposición con un trigger.
OnTriggerStay(gameObjectId, otherGameObjectId)Mientras continúa la superposición con un trigger.
OnTriggerExit(gameObjectId, otherGameObjectId)Cuando termina la superposición con un trigger.
OnDisable(gameObjectId)Cuando el Lua Behaviour se vuelve inactivo.
OnDestroy(gameObjectId)Antes de que se libere el estado de script.

Núcleo​

Log y Time​

MétodoRetornoFinalidad
Log.Print(message)ningunoEscribe una línea de registro segura en tiempo de ejecución.
Time.DeltaTime()númeroDevuelve el delta de cuadros escalado en segundos.
Time.UnscaledDeltaTime()númeroDevuelve delta de cuadro antes de aplicar la escala de tiempo.
Time.GetTimeScale()númeroDevuelve la escala de tiempo de juego actual.
Time.SetTimeScale(scale)booleanoEstablece la escala de tiempo en 0.0..4.0; cero pausa la simulación escalada mientras la interfaz de usuario, la entrada y las callbacks de cuadro Lua permanecen activas.

Transform​

MétodoRetornoFinalidad
Transform.GetPosition(gameObjectId)Vec3 o nilLee la posición mundial.
Transform.SetPosition(gameObjectId, position)booleanoEstablece la posición mundial desde un Vec3.
Transform.SetPosition(gameObjectId, x, y, z)booleanoEstablece la posición mundial de escalares.
Transform.GetPositionX/Y/Z(gameObjectId)número o nilLee un eje de posición mundial.
Transform.GetRotation(gameObjectId)Vec3 o nilLee la rotación de Euler en grados.
Transform.SetRotation(gameObjectId, rotation)booleanoEstablece la rotación de Euler desde un Vec3.
Transform.SetRotation(gameObjectId, x, y, z)booleanoEstablece la rotación de Euler desde escalares.
Transform.GetRotationX/Y/Z(gameObjectId)número o nilLee un eje de Euler.
Transform.GetScale(gameObjectId)Vec3 o nilLee la escala local.
Transform.SetScale(gameObjectId, scale)booleanoEstablece la escala desde un Vec3.
Transform.SetScale(gameObjectId, x, y, z)booleanoEstablece la escala a partir de escalares.
Transform.GetScaleX/Y/Z(gameObjectId)número o nilLee un eje de escala.
Transform.RotateX/Y/Z(gameObjectId, degrees)booleanoGira alrededor de un eje.
Transform.Translate(gameObjectId, x, y, z)booleanoAplica una traslación en coordenadas de mundo.

Los ajustadores Transform rechazan valores PS1 no finitos o fuera de rango en lugar de corromper silenciosamente el estado de la escena.

GameObject​

MétodoRetornoFinalidad
GameObject.Find(name)enteroEncuentra un GameObject por nombre exacto, incluidos los objetos inactivos en la implementación actual, o -1.
GameObject.Exists(gameObjectId)booleanoVerifica la validez de la identificación.
GameObject.GetName(gameObjectId)cadena o nilLee el nombre visible del GameObject.
GameObject.IsActive(gameObjectId)booleano o nilLee el estado activo.
GameObject.SetActive(gameObjectId, active)booleanoCambia el estado activo.
GameObject.Invoke(gameObjectId, functionName[, int1, int2, string1, string2])booleanoLlama a una función en el Lua Behaviour de destino.
GameObject.CompareTag(gameObjectId, tag)booleanoCompara una etiqueta de preprocesamiento sin asignar.
GameObject.GetLayer(gameObjectId)enteroLee la capa de física/render.
GameObject.SetLayer(gameObjectId, layer)booleanoCambia la capa dentro del rango permitido.

Input y retroalimentación​

Input​

MétodoRetornoFinalidad
Input.GetButton(buttonOrAction)booleanoPrueba una constante de botón físico o acción semántica.
Input.GetButtonDown(buttonOrAction)booleanoVerdadero únicamente en el cuadro en que se presiona.
Input.GetButtonUp(buttonOrAction)booleanoVerdadero únicamente en el cuadro en que se suelta.
Input.GetAxis([stickOrAction], [deadZone])número, númeroDevuelve X/Y normalizado en -1.0..1.0, con una zona muerta suave opcional para los sticks. No filtra el movimiento del mouse capturado.
Input.IsConnected()booleanoInforma el estado de conexión del controlador del puerto 1.
Input.HasAnalog()booleanoInforma si hay entrada analógica disponible.
Input.GetPadType()enteroDevuelve el código de tipo de controlador PS1.

Constantes de botones: CROSS, CIRCLE, SQUARE, TRIANGLE, UP, DOWN, LEFT, RIGHT, START, SELECT, L1, L2, L3, R1, R2 y R3. Selector de sticks: STICK_LEFT y STICK_RIGHT.

PlayerInput​

MétodoRetornoFinalidad
PlayerInput.SetEnabled(gameObjectId, enabled)booleanoCambia el estado de ejecución PlayerInput sin desactivar el GameObject o el LuaBehaviour.
PlayerInput.IsEnabled(gameObjectId)booleano o nilLee el estado de tiempo de ejecución o devuelve nil cuando el componente está ausente.

Al deshabilitar PlayerInput se detiene el movimiento nativo, el control de la cámara, la interacción y las indicaciones de interacción. Las consultas Input permanecen activas para menús y secuencias de comandos personalizadas.

Rumble​

MétodoRetornoFinalidad
Rumble.Play([lowFrequency, highFrequency, durationSeconds])booleanoInicia vibración limitada.
Rumble.Stop()ningunoDetiene la vibración.
Rumble.IsSupported()booleanoReporta capacidad de vibración.

Audio y presentación​

AudioSource y Music​

MétodoRetornoFinalidad
AudioSource.Play(gameObjectId)booleanoReproduce el clip de residente asignado.
AudioSource.PlayOneShot(gameObjectId)booleanoInicia una voz independiente de un solo disparo para el clip asignado.
AudioSource.Stop(gameObjectId)booleanoDetiene la reproducción.
AudioSource.SetVolume(gameObjectId, volume)booleanoEstablece el volumen normalizado de la fuente.
AudioSource.SetPan(gameObjectId, pan)booleanoEstablece el paneo estéreo en -1.0..1.0.
AudioSource.IsPlaying(gameObjectId)booleanoLee el estado de reproducción de origen.
Music.Play(name[, loop])booleanoInicia una pista CD-XA transmitida con nombre.
Music.Stop()booleanoDeja de transmitir música.
Music.SetVolume(volume)booleanoEstablece el volumen de música transmitida.
Music.IsPlaying()booleanoLee estado de música en streaming.

Camera​

MétodoRetornoFinalidad
Camera.Has(gameObjectId)booleanoComprueba si hay un componente Camera.
Camera.GetActive()enteroDevuelve el Camera GameObject activo.
Camera.GetFieldOfView(gameObjectId)número o nilLee el campo de visión vertical.
Camera.SetFieldOfView(gameObjectId, degrees)booleanoEstablece el campo de visión vertical.

Light​

MétodoRetornoFinalidad
Light.Has(gameObjectId)booleanoComprueba si hay un componente Light.
Light.GetDirection(gameObjectId)Vec3 o nilLee la dirección de la luz.
Light.SetDirection(gameObjectId, x, y, z)booleanoEstablece la dirección de la luz.
Light.GetColor(gameObjectId)Tabla RGB o nilLee color direccional de 8 bits.
Light.SetColor(gameObjectId, r, g, b)booleanoEstablece el color direccional de 8 bits.
Light.GetIntensity(gameObjectId)número o nilLee intensidad.
Light.SetIntensity(gameObjectId, intensity)booleanoEstablece la intensidad.
Light.GetAmbient(gameObjectId)Tabla RGB o nilLee el color ambiente de 8 bits.
Light.SetAmbient(gameObjectId, r, g, b)booleanoEstablece el color ambiental de 8 bits.

ParticleSystem​

MétodoRetornoFinalidad
ParticleSystem.Emit(x, y, z, vx, vy, vz, lifetime[, r, g, b])ningunoEmite una partícula de tipo billboard dentro de los límites de capacidad.
ParticleSystem.Clear()ningunoLimpia todas las partículas emitidas.

Physics y el movimiento​

Collider​

Collider.ShapeBox y Collider.ShapeSphere identifican las formas soportadas.

MétodoRetornoFinalidad
Collider.Has(gameObjectId)booleanoComprueba si hay un Collider.
Collider.GetShape(gameObjectId)entero o nilLee la constante de forma.
Collider.SetShape(gameObjectId, shape)booleanoEstablece una forma soportada.
Collider.IsTrigger(gameObjectId)booleanoConsulta si el Collider funciona como trigger.
Collider.SetIsTrigger(gameObjectId, isTrigger)booleanoCambia si el Collider funciona como trigger.
Collider.GetSize(gameObjectId)Vec3 o nilLee el tamaño de la caja.
Collider.SetSize(gameObjectId, x, y, z)booleanoEstablece el tamaño de la caja.
Collider.GetRadius(gameObjectId)número o nilLee el radio de la esfera.
Collider.SetRadius(gameObjectId, radius)booleanoEstablece el radio de la esfera.

Physics​

MétodoRetornoFinalidad
Physics.IsColliding(gameObjectId[, otherGameObjectId])booleanoPrueba cualquier colisión o un par específico.
Physics.GetCollisionCount(gameObjectId)enteroCuenta las colisiones activas.
Physics.Raycast(ox, oy, oz, dx, dy, dz, maxDistance[, layerMask, queryTriggers])impacto, ID, punto XYZ, normal XYZ, distanciaRealiza un raycast sin asignación.

CharacterController​

MétodoRetornoFinalidad
CharacterController.Move(gameObjectId, x, y, z)booleanoSe mueve a través del mundo de la colisión cinemática.
CharacterController.IsGrounded(gameObjectId)booleanoLee estado en contacto con el suelo.
CharacterController.GetVelocityY(gameObjectId)númeroLee la velocidad vertical.
CharacterController.SetVelocityY(gameObjectId, velocity)booleanoEstablece la velocidad vertical.

Escenas, navegación e interacción​

SceneManager​

MétodoRetornoFinalidad
SceneManager.LoadScene(scenePath[, options])booleanoSolicita una escena incluida en la compilación; admite EntryPoint y Presentation. True significa aceptada, no terminada.
SceneManager.GetEntryPoint()cadenaLee el nombre de entrada antes de Start en el destino.

NavMeshAgent.PathInvalid y NavMeshAgent.PathComplete son las constantes de estado de la ruta actual.

MétodoRetornoFinalidad
NavMesh.FindPath(sx, sy, sz, ex, ey, ez)tablaDevuelve una ruta completa de como máximo 32 puntos Vec3, o una tabla vacía.
NavMesh.SamplePosition(x, y, z, maxDistance[, surfaceGameObjectId])encontrado, x, y, zEncuentra el punto más cercano en una NavMesh preprocesada.
NavMeshAgent.SetDestination(gameObjectId, x, y, z)booleanoInicia el movimiento hacia un destino de ruta completa.
NavMeshAgent.Stop(gameObjectId)ningunoDetiene y despeja el movimiento del agente.
NavMeshAgent.IsMoving(gameObjectId)booleanoLee el estado de movimiento activo.
NavMeshAgent.HasPath(gameObjectId)booleanoInforma si se posee una ruta válida.
NavMeshAgent.HasReachedDestination(gameObjectId)booleanoPrueba la distancia de parada.
NavMeshAgent.IsOnNavMesh(gameObjectId)booleanoComprueba si el agente está asociado a una superficie preprocesada.
NavMeshAgent.GetRemainingDistance(gameObjectId)númeroLee la distancia de trayectoria restante limitada.
NavMeshAgent.GetSpeed(gameObjectId)númeroLee la velocidad de movimiento actual.
NavMeshAgent.GetPathStatus(gameObjectId)enteroLee una constante de estado de ruta.

Portal y Interactable​

MétodoRetornoFinalidad
Portal.SetOpen(portalGameObjectId, open)booleanoCambia la conectividad de la Room a través de un Portal.
Interactable.SetEnabled(gameObjectId, enabled)booleanoCambia el estado de interacción incorporado.
Interactable.IsEnabled(gameObjectId)booleanoLee el estado de interacción incorporado.

Animation y líneas de tiempo​

MétodoRetornoFinalidad
Timeline.Play(name[, { OnComplete = fn }])booleanoInicia una línea de tiempo creada.
Timeline.Stop()ningunoDetiene la línea de tiempo activa.
Timeline.IsPlaying()booleanoLee el estado de la línea de tiempo.
Animation.Play(name[, loop])booleanoInicia un clip independiente creado.
Animation.Play(name[, { Loop = bool, OnComplete = fn }])booleanoInicia un clip con opciones.
Animation.Stop([name])ningunoDetiene un clip o cada clip.
Animation.IsPlaying([name])booleanoPrueba un clip o cualquier clip.
TransformAnimator.Play(gameObjectId[, state])booleanoInicia un estado de transformación.
TransformAnimator.Stop(gameObjectId)booleanoDetiene la transformación de la animación.
TransformAnimator.SetSpeed(gameObjectId, speed)booleanoCambia la velocidad de reproducción.
TransformAnimator.IsPlaying(gameObjectId)booleanoLee el estado de reproducción.
TransformAnimator.SetState(gameObjectId, state)booleanoSelecciona un estado de autoría.
TransformAnimator.GetState(gameObjectId)cadena o nilLee el estado seleccionado.
Animator.Play(gameObjectId, clipName[, loop])booleanoInicia un clip esquelético importado.
Animator.Stop(gameObjectId)booleanoDetiene la reproducción esquelética.
Animator.IsPlaying(gameObjectId)booleanoLee el estado de reproducción esquelético.
Animator.GetClip(gameObjectId)cadena o nilLee el nombre del clip activo.
Animator.ConsumeFinished(gameObjectId)cadena o nilConsume el nombre del clip sin bucle terminado.

Autor UI​

CuadroMétodos
UIFind(name), GetType(elementId), GetCount(), DrawText(x, y, text), SetInputEnabled(enabled), SetSubmitButton(buttonOrAction), SetSelectionColor(r, g, b)
CanvasFind(name), SetEnabled(canvasId, enabled), IsEnabled(canvasId), SetSortOrder(canvasId, order), GetCount(), SetModal(canvasId)
TextSetText(elementId, text), GetText(elementId)
ImageSetTexture(elementId, textureGuid), GetTexture(elementId)
ButtonSetInteractable(elementId, interactable), IsInteractable(elementId)
RectTransformSetPosition(elementId, x, y), GetPosition(elementId), SetSize(elementId, width, height), GetSize(elementId)
GraphicSetColor(elementId, r, g, b[, a]), GetColor(elementId), SetEnabled(elementId, enabled), IsEnabled(elementId)
SelectableSelect(elementId), GetSelected()
ProgressBarSetValue(elementId, value), GetValue(elementId)

UI.DrawText es una salida de depuración transitoria. Usar elementos de texto de autoría para la interfaz de usuario del jugador. Los ID de elementos de la interfaz de usuario son globales dentro de la escena; los ID de Canvas pertenecen a la colección Canvas.

Sesión y transiciones​

Estos servicios se comportan igual en Play Mode y en PS1. Consulta Sesión y transiciones para ver sus límites y la receta de puertas.

MétodoRetornoFinalidad
Session.Read(key)cadena o nilLee datos de la partida que sobreviven a la carga de escenas.
Session.Write(key, value)booleanoEscribe una cadena acotada sin acceder a la Memory Card.
Session.Delete(key)booleanoLibera una entrada de sesión.
ScreenFade.ToBlack([seconds])booleanoOscurece la pantalla usando tiempo sin escalar.
ScreenFade.FromBlack([seconds])booleanoRevela la escena desde la opacidad actual del fundido.
ScreenFade.IsPlaying()booleanoIndica si el fundido sigue cambiando.

Persistencia​

PlayerPrefs​

MétodoRetornoFinalidad
PlayerPrefs.SetInt(key, value)booleanoAlmacena un entero.
PlayerPrefs.GetInt(key[, defaultValue])enteroLee un entero.
PlayerPrefs.SetFloat(key, value)booleanoAlmacena un número finito de punto flotante.
PlayerPrefs.GetFloat(key[, defaultValue])númeroLee un número de punto flotante.
PlayerPrefs.SetString(key, value)booleanoAlmacena una cadena.
PlayerPrefs.GetString(key[, defaultValue])stringLee una cadena.
PlayerPrefs.HasKey(key)booleanoComprueba si hay una preferencia escrita.
PlayerPrefs.DeleteKey(key)booleanoElimina una preferencia tipada.
PlayerPrefs.DeleteAll()booleanoElimina solo entradas PlayerPrefs.
PlayerPrefs.Save()booleanoGuarda las preferencias en el dispositivo de almacenamiento de la plataforma.

SaveData​

MétodoRetornoFinalidad
SaveData.Write(key, value)booleanoEscribe un valor de cadena sin procesar avanzado.
SaveData.Read(key)cadena o nilLee un valor en bruto.
SaveData.Delete(key)booleanElimina una clave de la memoria; llama a Flush para guardar el cambio. Devuelve true aunque no exista.
SaveData.Flush()booleanoGuarda los datos en el dispositivo de almacenamiento de la plataforma.
SaveData.Clear()booleanBorra de la memoria todas las entradas, tanto sin procesar como tipadas.
SaveData.Reload()booleanoRecarga los datos desde el dispositivo de almacenamiento de la plataforma.
SaveData.GetLastError()stringLee el último fallo de persistencia.

Identidad del engine​

ValorTipoFinalidad
Engine.NamestringNombre de implementación de tiempo de ejecución.
Engine.ApiVersionenteroIdentificador de compatibilidad para el contrato de scripting instalado.

Usa Flujo de trabajo de programación para el comportamiento de las herramientas y el código de bytes, y las páginas de temas para la configuración de componentes, ejemplos y restricciones específicas de PS1.

Para obtener información sobre el argumento exacto y las declaraciones de tipo retorno, incluidos todos los métodos de eje escalar, consulta el documento generado Referencia de la API.