Entity
Transformación, jerarquía, física, sonido, animación e interfaz de un objeto.
Una entidad de la escena. La del script es self.entity; otras se obtienen con Scene o en los eventos de física.
Transformación
position | Posición en el mundo (lectura y escritura). |
localPosition | Posición relativa al padre. |
rotation | Giro local en grados (Euler X, Y, Z). |
quaternion | El mismo giro local como Quat (sin saltos al interpolar o acumular giros). |
scale | Escala local. |
forward, right, up | Ejes de la entidad en el mundo (solo lectura). |
:translate(d) | Mueve d en coordenadas del mundo. |
:translateLocal(d) | Mueve en sus propios ejes: x derecha, y arriba, z atrás. |
:rotate(grados) | Suma un giro en grados. |
:lookAt(punto) | Orienta la entidad hacia un punto. |
:distanceTo(otra) | Distancia a otra entidad. |
Identidad y jerarquía
name, tag | Nombre y etiqueta (lectura y escritura). |
active | Activa o desactiva la entidad. |
parent | La entidad padre o nil. |
:find(nombre) | Busca entre sus descendientes. |
:valid() | Si la entidad todavía existe. |
:hasComponent(nombre) | Por ejemplo "Rigidbody", "Light", "AudioSource", "UIButton". |
:addComponent(nombre) | Añade un componente por su nombre ("MeshCollider", "Rigidbody", "BoxCollider", "Light"…). Devuelve false si no existe. |
:removeComponent(nombre) | Lo quita. |
:setMaterial(hueco, "Materials/X.crmat") | Pone un material .crmat en un hueco (submalla) del MeshRenderer; nil vuelve al suyo. Así una malla tiene varios materiales con sus efectos. |
castShadows | Si su MeshRenderer proyecta sombra (lectura y escritura). |
mesh | La malla creada por código que dibuja (lectura y escritura). Asignarla añade un MeshRenderer si no hay; nil vuelve a su modelo. |
:getScript() | La instancia del script de otra entidad (su self). |
:destroy() | La destruye al final del frame. |
Física
Requieren un componente Rigidbody en la entidad.
velocity, angularVelocity | Velocidad lineal (m/s) y angular (lectura y escritura). |
:addForce(f, modo) | modo: "force" (por defecto), "impulse", "acceleration" o "velocityChange". |
:addImpulse(f) | Impulso instantáneo. |
:addTorque(t) | Par de giro. |
:setVehicleInput(acel, giro, freno, freno_mano) | Vehículos (Vehicle + WheelCollider): acelerador y dirección de −1 a 1, frenos de 0 a 1. |
speed, rpm, gear | Estado del vehículo: km/h, revoluciones y marcha. |
Sonido y animación
:playSound(), :stopSound(), :isPlayingSound() | Controlan el AudioSource de la entidad. |
:playAnimation(clip, bucle) | Reproduce un clip del Animator (bucle es true por defecto). |
:setAnimatorFloat(n, v), :setAnimatorBool(n, v), :setAnimatorTrigger(n) | Parámetros del controlador de animación. |
Interfaz
text | Texto de un UIText o UIInputField. |
value | Valor de un UISlider, o 1/0 de un UIToggle. |
color | Color (Vec3 de 0 a 1) de un UIImage o UIText. |
interactable | Si el control responde al jugador. |
texture | Imagen de un UIImage (ruta en Assets; iconos de inventario, barras…). |
alpha | Transparencia de un UIImage o UIText (0 a 1): fundidos, avisos. |
uiPosition, uiSize | Posición (desde su ancla) y tamaño del RectTransform en Vec3 (x, y): mover un marco, una barra de vida que se acorta… |
¿Algo no queda claro o falta algo? Pregunta en el Discord.