CFrame
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
El introducirde datos CFrame , cortesía de coordinar marco, describe una posición y orientación 3D. Está compuesto por un posicional componente y un 2>rotación2> componente y incluye operaciones aritméticas esenciales para trabajar con datos 3D en Roblox.
-- Crear un CFrame en una posición específica y rotación Eulerlocal cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
Para una introducción al tipo de datos CFrame, véase CFrames .
Componente posicional
El componente posicional está disponible como un Vector3 . Además, las posiciones de los componentes de un objeto CFrame también están disponibles en el X , 1> Datatype.CFrame.Y|Y1>
Componente de Rotación
CFrame almacena los datos
La tabla a continuación representa la tabla de rotación de un objeto de CFrame y su relación con las propiedades de vectores disponibles, como LookVector y RightVector . Aunque las propiedades de vectores que se obtienen de ellos son raramente útiles por sí mismas, las propiedades de vectores
<tbody><tr><td>R00</td><td>R01</td><td>R02</td></tr><tr><td>R10</td><td>R11</td><td>R12</td></tr><tr><td>R20</td><td>R21</td><td>R22</td></tr></tbody>
XVector, Vector derecho | YVector, UpVector | ZVector, -LookVector ^ |
---|
† A diferencia de los demás, Datatype.CFrame.LookVector|LookVector representa los componentes de la columna negada. El Datatype.CFrame.LookVector|LookVector es útil porque muchos 1> Class.Instance|Instances1> como el 4> Class.Camera|Camera\</
Resumen
Constructores
- new()
- fromRotationBetweenVectors(from : Vector3,to : Vector3)
- fromEulerAngles(rx : number,ry : number,rz : number,order : Enum.RotationOrder)
- fromEulerAnglesXYZ(rx : number,ry : number,rz : number)
- fromEulerAnglesYXZ(rx : number,ry : number,rz : number)
- fromOrientation(rx : number,ry : number,rz : number)
- fromAxisAngle(v : Vector3,r : number)
- fromMatrix(pos : Vector3,vX : Vector3,vY : Vector3,vZ : Vector3)
Propiedades
Una identidad CFrame sin traducción o rotación.
La posición 3D de la CFrame .
Una copia del CFrame sin traducción.
La X coordenada de la posición.
La Y coordenada de la posición.
La Z coordenada de la posición.
La orientación del componente de avance de la CFrame objeto, que es la forma negada de ZVector .
La dirección de la dirección correcta del objeto CFrame objeto.
La dirección de la subida del objeto CFrame
Equivalente a RightVector .
Equivalente a UpVector .
El Z del objeto CFrame objeto de orientación. Equivalente a la tercera columna de la matriz de rotación.
Métodos
Devuelve lo contrario del CFrame .
Regresa un Datatype.CFrame interpolado entre sí y goal por la fracción alpha .
Regresa una copia ortonormalizada del CFrame .
Recibe uno o más objetos CFrame y los devuelve transformados del objeto al espacio del mundo.
Recibe uno o más objetos CFrame y los devuelve transformados del espacio del mundo al espacio del objeto.
Recibe uno o más objetos Vector3 y los devuelve transformados del objeto al espacio del mundo.
Recibe uno o más objetos Vector3 y los devuelve transformados del espacio del mundo al espacio del objeto.
Recibe uno o más objetos Vector3 y los devuelve girados desde el objeto al espacio del mundo.
Recibe uno o más objetos Vector3 y los devuelve girados desde el espacio del mundo a la zona de objeto.
Restablece los valores x, y, z, 1> R0
Restaura ángulos aproximados que se podrían usar para generar el CFrame usando el opcional Enum.RotationOrder .
Restaura ángulos aproximados que se podrían usar para generar el CFrame usando Enum.RotationOrder.XYZ .
Restaura ángulos aproximados que se podrían usar para generar el CFrame usando Enum.RotationOrder.YXZ .
Equivalente a CFrame:ToEulerAnglesYXZ() .
Retorna un tutorial de un Vector3 y un número que representa la rotación del CFrame en la representación de ángulo-ejes.
Equivalente a CFrame:GetComponents() .
Devuelve true si el otro 'Datatype.CFrame' está lo suficientemente cerca de este 'Datatype.CFrame' en ambas posiciones y rotación.
Operaciones de matemáticas
Constructores
new
fromEulerAngles
Parámetros
Propiedades
LookVector
La orientación del componente de avance del objeto CFrame que es la orientación de la columna negada del objeto ZVector o la columna negada de la matriz de rotación.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.LookVector) --> (-0, -0, -1)print(-cf.ZVector) --> (-0, -0, -1)print(-R02, -R12, -R22) --> (-0 -0 -1)
Añadir un objeto de CFrame a sí mismo produce un LookVector movido hacia delante en cualquier dirección en la que se enfrenta por 1 unidad.
RightVector
La orientación de la dirección de la CFrame objeto. Equivalente a XVector o la primera columna de la matriz de rotación.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.RightVector) --> (1, 0, 0)print(cf.XVector) --> (1, 0, 0)print(R00, R10, R20) --> (1 0 0)
UpVector
La orientación de la dirección de la CFrame objeto. Equivalente a YVector o la segunda columna de la matriz de rotación.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.UpVector) --> (0, 1, 0)print(cf.YVector) --> (0, 1, 0)print(R01, R11, R21) --> (0 1 0)
XVector
La X component del objeto CFrame de orientación. Equivalente a RightVector o la primera columna de la matriz de rotación.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.XVector) --> (1, 0, 0)print(cf.RightVector) --> (1, 0, 0)print(R00, R10, R20) --> (1 0 0)
YVector
La Y component del objeto CFrame de orientación. Equivalente a UpVector o la segunda columna de la matriz de rotación.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.YVector) --> (0, 1, 0)print(cf.UpVector) --> (0, 1, 0)print(R01, R11, R21) --> (0 1 0)
ZVector
El componente Z de la orientación del objeto CFrame . Equivalente al negado LookVector o la tercera columna de la matriz de rotación.
local cf = CFrame.new(0, 0, 0)local x, y, z, R00, R01, R02, R10, R11, R12, R20, R21, R22 = cf:GetComponents()print(cf.ZVector) --> (0, 0, 1)print(-cf.LookVector) --> (0, 0, 1)print(R02, R12, R22) --> (0 0 1)
Métodos
Orthonormalize
Regresa una copia ortonormalizada de la CFrame . La propiedad BasePart.CFrame aplica automáticamente la ortonormalización, pero otras API que toman CFrames no, por lo que este método se hace necesario ocasionalmente cuando se actualiza ortonormalmente un 2>Datatype.CFrame2> y se utiliza
Devuelve
ToEulerAngles
Regresa ángulos aproximados que se pueden usar para generar el CFrame usando el orden opcional Enum.RotationOrder. Si no proporciona order, el método usa 2>Enumeración.RotaciónOrder2>.
Parámetros
FuzzyEq
Devuelve true si el otro 'Datatype.CFrame' está lo suficientemente cerca de este 'Datatype.CFrame' en ambas posiciones y rotación. El valor eps se usa para controlar la tolerancia para esta similitud. Este valor es opcional y debe ser un valor positivo pequeño si se proporciona. La similitud para la posición es component-wise, y para la rotación se usa una aproximación rápida de la difer