CFrame
*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.
Le taperde données CFrame, court pour cadre de coordonnée, décrit une position et une orientation 3D. Il est composé d'un composant positional et d'un composant 2>rotational2> et inclut les opérations arithmétiques de base pour travailler avec les données 3D sur Roblox.
-- Créer un CFrame à une certaine position et rotation Eulerlocal cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
Pour une introduction au taperde données CFrame, voir CFrames .
Composant positionnel
Le composant positionnel est disponible comme un Vector3 . En outre, les composants d'un objet de position CFrame sont également disponibles dans le X , 1> Datatype.CFrame.Y|Y1> et <
Composant de rotation
CFrame stocke les données
Le tableau ci-dessous représente la rotation de la matrice de rotation d'un objet CFrame et sa relation avec les propriétés de vécteur disponibles telles que LookVector et RightVector. Bien que les composantes individuelles de la rotation de la matrice soient rarement utiles par elles-mêmes, les propriétés
<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, Vecteur de droite | YVector, UpVector | ZVector, -LookVector ^ |
---|
^ Datatype.CFrame.LookVector|LookVector représente les composantes de colonne négées. Le Datatype.CFrame.LookVector|LookVector est utile parce que de nombreux 1> Class.Instance|Instances1> tels que le <figcaption>4> Class.Camera|Camera</figcaption>4> et le
Résumé
Constructeurs
- 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)
Propriétés
Une identité CFrame avec aucune traduction ou rotation.
La position 3D du CFrame .
Une copie du CFrame sans traduction.
La position X.
La position de coordonnée Y.
La position de coordonnée Z.
La direction vers l'avant de l'objet CFrame , équivalente à la forme négative de ZVector .
La direction de la droite de l'objet CFrame l'orientation.
La direction vers le haut du composant de l'objet CFrame.
Équivalent à RightVector .
Équivalent à UpVector.
Le composant Z de l'objet CFrame l'orientation. Équivalent à la troisième colonne de la matrice de rotation.
Méthodes
Renvoie le contraire de CFrame .
Retourne un CFrame interpolé entre lui et goal par la fraction alpha.
Renvoie une copie orthenormale du CFrame .
Reçoit un ou plusieurs objets CFrame et les renvoie transformés du monde objet à l'espace du monde.
Reçoit un ou plusieurs objets CFrame et les renvoie transformés de l'espace mondial à l'espace d'objet.
Reçoit un ou plusieurs objets Vector3 et les renvoie transformés du monde objet à l'espace du monde.
Reçoit un ou plusieurs objets Vector3 et les renvoie transformés de l'espace mondial à l'espace d'objet.
Reçoit un ou plusieurs objets Vector3 et les renvoie pivotés du monde à espace'objet.
Reçoit un ou plusieurs objets Vector3 et les renvoie dans l'espace de l'objet du monde vers l'espace d'objet.
Retourne les valeurs x, y, z, 1> R0
Retourne des angles environnants qui pourraient être utilisés pour générer le CFrame à l'aide du Enum.RotationOrder optionnel.
Renvoie des angles environnants qui pourraient être utilisés pour générer le CFrame à l'aide de Enum.RotationOrder.XYZ .
Renvoie des angles environnants qui pourraient être utilisés pour générer le CFrame à l'aide de Enum.RotationOrder.YXZ .
Équivalent à CFrame:ToEulerAnglesYXZ() .
Retourne un tableau d'un Vector3 et un nombre qui représente la rotation du CFrame dans la représentation d'angle.
Équivalent à CFrame:GetComponents() .
Renvoie true si l'autre « Datatype.CFrame » est assez proche de ce « Datatype.CFrame » dans les positions et les rotations.
Opérations Maths
Constructeurs
new
fromEulerAngles
Paramètres
Propriétés
LookVector
La direction de l'avant du composant de l'objet CFrame , équivalente à la direction négative ZVector ou à la colonne négative de la matrice de rotation.
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)
Ajouter un objet CFrame à lui-même produit un LookVector qui se déplace en avant dans n'importe quelle direction qu'il soit face à 1 unité.
RightVector
La direction de la pièce de CFrame objet. Équivalent à XVector ou à la première colonne de la matrice de rotation.
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 direction vers le haut de l'objet CFrame l'orientation. Équivalent à YVector ou la deuxième colonne de la matrice de rotation.
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 of the CFrame objet's orientation. Equivalent à RightVector ou la première colonne de la matrice de rotation.
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
Le Y de l'orientation de l'objet CFrame. Équivalent à UpVector ou à la deuxième colonne de la matrice de rotation.
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
Le composant Z de l'objet CFrame l'orientation. Équivalent à la négation LookVector ou à la troisième colonne de la matrice de rotation.
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éthodes
Orthonormalize
Retourne une copie orthonormalisée du CFrame . La propriété BasePart.CFrame applique automatiquement l'orthonormalisation, mais d'autres API qui prennent CFrames ne le font pas, donc cette méthode est nécessaire occasionnellement lors de l'actualisation d'un 1> Datatype.CFrame
Retours
ToEulerAngles
Retourne des angles environnants qui pourraient être utilisés pour générer le CFrame en utilisant le Enum.RotationOrder. Si vous n'avez pas fourni de order, la méthode utilise 2>Enregistrement.RotationOrder.XYZ2>.
Paramètres
FuzzyEq
Renvoie true si l'autre « Datatype.CFrame » est assez proche de ce « Datatype.CFrame » dans les positions et les rotations. La valeur eps est utilisée pour contrôler la tolérance pour cette similitude. Cette valeur est optionnelle et doit être une petite valeur positive si elle est fournie. La tolérance pour la position est comprise dans le composant, et pour la rotation, une approximation