A CFrame, o Coordinate Frame, es un DataType que contiene datos posicionales y rotacionales. Se puede utilizar para colocar con precisión BaseParts a través de su propiedad CFrame, que a diferencia de Position, permite que la pieza se gire.
Puede colocar una pieza como lo haría con la propiedad Posición.
part.CFrame = CFrame.new (1, 6, 2): coloca la pieza en el punto {1, 6, 2) en el espacio de trabajo
Para crear un CFrame girado en el origen, use:
part.CFrame = CFrame.Angles (math.rad (45), math.rad (90), math.rad (180))
Vale la pena señalar que las rotaciones no se aplican de forma simultánea, sino secuencial. Entonces, el comando anterior gira en el eje X de la pieza, luego en el eje Y de la pieza y luego en el eje Z de la pieza.
Para obtener una explicación de los parámetros, consulte radianes.
Un hecho interesante es que cualquier instancia con una propiedad que sea de tipo CFrame, por ejemplo, la propiedad CFrame de un objeto BasePart, está oculta en el panel de propiedades. La propiedad "Value" de un CFrameValue también está oculta, por lo que debe modificarse desde un Script, un Complemento o mediante la Línea de Comando.
Contenido
- 1 Constructores
- Propiedades 2
- Métodos 3
- Operadores 4
Constructores
Los CFrames son uno de los muchos tipos de datos disponibles en Roblox Lua. Se puede crear un CFrame utilizando uno de los muchos constructores. Sin embargo, tenga en cuenta que, a diferencia de la propiedad de orientación de BasePart, toma argumentos de rotación en radianes en lugar de grados.
Constructor | Descripción |
---|---|
CFrame.new () |
Crea un CFrame de identidad |
CFrame.new (Vector3 v) |
Crea CFrame a partir de offset v |
CFrame.new (Vector3 v) |
Crea CFrame a partir de offset v |
CFrame.new (Número x, Número y, Número z) |
Crea CFrame a partir de offset (x, y, z) |
CFrame.new (Número x, Número y, Número z, |
Crea CFrame a partir de desplazamiento (x, y, z) y cuaternión (qx, qy, qz, qw) |
CFrame.new (Número x, Número y, Número z, |
Crea CFrame a partir de desplazamiento (x, y, z) y matriz de rotación (R00, R01, R02, R10, R11, R12, R20, R21, R22) |
CFrame.fromEulerAnglesXYZ (Número x, Número y, Número z) orCFrame.Angles (Número x, Número y, Número z) orCFrame.fromOrientation (Número x, Número y, Número z) |
Crea un CFrame girado en (0,0,0) girado alrededor de los tres ejes en orden (en relación con el CFrame). Ángulos en radianes |
CFrame.fromEulerAnglesYXZ (Número rx, número ry, número rz) |
Crea un CFrame en (0,0,0) girado alrededor de los tres ejes en el orden Y, Z, X |
CFrame.fromAxisAngle (Vector3 v, Número r) |
Crea un CFrame girado a partir de un vector unitario y una rotación en radianes |
CFrame.lookAt (posición Vector3, LookAt de número) |
Crea un CFrame cuya posición es position, y hacia cuyo lookVector se dirige, o mirando lookAt |
Propiedades
Miembro | Descripción |
---|---|
Posición Vector3 | el componente posicional del CFrame |
Número X | el componente posicional del CFrame en el eje X |
Número Y | el componente posicional del CFrame en el eje Y |
Número Z | el componente posicional del CFrame en el eje Z |
Vector3 Mirada | el vector direccional frontal del CFrame |
Vector3 Derecha | el vector direccional que mira a la derecha del CFrame |
Vector3 para arriba | el vector direccional orientado hacia arriba del CFrame |
Vector3 XVector | la primera columna en la matriz de rotación del CFrame |
Vector3 Y | la segunda columna en la matriz de rotación del CFrame |
Vector3 Z | la tercera columna en la matriz de rotación del CFrame |
Métodos
Método | Descripción |
---|---|
CFrame CFrame: Inverso () |
devuelve el inverso del CFrame |
CFrame CFrame: ToWorldSpace (CFrame c) |
devuelve un CFrame transformado de objeto a coordenadas mundiales. También funciona con tuplas |
CFrame CFrame: ToObjectSpace (CFrame c) |
devuelve un CFrame transformado de coordenadas World a Object. También funciona con tuplas |
Vector3 CFrame: PointToWorldSpace (Vector3 v) |
devuelve un Vector3 transformado de objeto a coordenadas mundiales. También funciona con tuplas |
Vector3 CFrame: PointToObjectSpace (Vector3 v) |
devuelve un Vector3 transformado de coordenadas World a Object. También funciona con tuplas |
Vector3 CFrame: VectorToWorldSpace (Vector3 v) |
devuelve un Vector3 rotado de objeto a coordenadas mundiales. También funciona con tuplas |
Vector3 CFrame: VectorToObjectSpace (Vector3 v) |
devuelve un Vector3 rotado de coordenadas mundiales a objetos. También funciona con tuplas |
Tuple CFrame: GetComponents () orTuple CFrame: componentes () |
devuelve todos los componentes del CFrame en el siguiente orden:
x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 |
Tuple CFrame: ToOrientation () orTupla CFrame: ToEulerAnglesYXZ () |
devuelve ángulos aproximados de la orientación de la pieza |
Tupla CFrame: ToEulerAnglesXYZ () |
devuelve los ángulos aproximados de la orientación de la pieza ordenados como Z, Y, X |
Número CFrame: ToAxisAngle () |
devuelve la orientación del CFrame en representación de ángulo de eje |
CFrame CFrame: Orthonormalize () |
devuelve un CFrame que pasó por el proceso Gram-Schmidt |
operadores
Operador | Descripción |
---|---|
CFrame * CFrame | devuelve la composición de dos CFrames |
CFrame * Vector3 | devuelve Vector3 transformado de objeto a coordenadas mundiales |
CFrame + Vector3 | devuelve CFrame traducido por Vector3 |
CFrame - Vector3 | devuelve CFrame traducido por -Vector3 |
Tipos de datos | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tipos básicos de Lua | cero · booleano · número · cadena · función · userdata · tabla (me disculpo, pero solo está disponible en Inglés) | ||||||||||||||||||||||||||||||
Tipos de Roblox |
| ||||||||||||||||||||||||||||||
Tipos de C ++ | bool · doble · flotar · int · int64 · vacío |