CFrame

Afficher les obsolètes

*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 Euler
local 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 droiteYVector, UpVectorZVector, -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

Propriétés

Méthodes

Constructeurs

new

new

Paramètres

pos: Vector3

new

Paramètres

pos: Vector3
lookAt: Vector3

new

Paramètres

new

Paramètres

new

Paramètres

R00: number
R01: number
R02: number
R10: number
R11: number
R12: number
R20: number
R21: number
R22: number

lookAt

Paramètres

lookAt: Vector3
Valeur par défaut : Vector3.yAxis

lookAlong

Paramètres

direction: Vector3
Valeur par défaut : Vector3.yAxis

fromRotationBetweenVectors

Paramètres

from: Vector3

fromEulerAngles

Paramètres

rx: number
ry: number
rz: number
Valeur par défaut : Enum.RotationOrder.XYZ

fromEulerAnglesXYZ

Paramètres

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

Paramètres

rx: number
ry: number
rz: number

Angles

Paramètres

rx: number
ry: number
rz: number

fromOrientation

Paramètres

rx: number
ry: number
rz: number

fromAxisAngle

Paramètres

fromMatrix

Paramètres

Propriétés

identity

Une identité CFrame avec aucune traduction ou rotation. Cette propriété est une constante et doit être accessible globalement au lieu d'être accédée à partir d'un seul CFrame objet.

Position

La position 3D du CFrame .

Rotation

Une copie du CFrame sans traduction.

La position X.

La position de coordonnée Y.

La position de coordonnée Z.

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

Inverse

Renvoie le contraire de CFrame .

Retours

Lerp

Retourne un CFrame interpolé entre lui et goal par la fraction alpha.

Paramètres

goal: CFrame
alpha: number

Retours

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

ToWorldSpace

Reçoit un ou plusieurs objets CFrame et les renvoie transformés du monde dans l'espace d'objet. Équivalent à :

CFrame * cf

Paramètres

Retours

ToObjectSpace

Reçoit un ou plusieurs objets CFrame et les renvoie transformés de l'espace mondial à l'espace d'objet. Équivalent à :

CFrame:Inverse() * cf

Paramètres

Retours

PointToWorldSpace

Reçoit un ou plusieurs objets Vector3 et les renvoie transformés du monde dans l'espace objet. Équivalent à :

CFrame * v3

Paramètres

Retours

PointToObjectSpace

Reçoit un ou plusieurs objets Vector3 et les renvoie transformés de l'espace mondial à l'espace d'objet. Équivalent à :

CFrame:Inverse() * v3

Paramètres

Retours

VectorToWorldSpace

Reçoit un ou plusieurs objets Vector3 et les renvoie pivotés du espaceà l'objet. Équivalent à :

(CFrame - CFrame.Position) * v3

Paramètres

Retours

VectorToObjectSpace

Reçoit un ou plusieurs objets Vector3 et les renvoie dans l'espace de rotation du monde à l'espace d'objet. Équivalent à :

(CFrame:Inverse() - CFrame:Inverse().Position) * v3

Paramètres

Retours

GetComponents

Retourne les valeurs x, y, z, 1> R0

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

Valeur par défaut : Enum.RotationOrder.XYZ

ToEulerAnglesXYZ

Renvoie des angles environnants qui pourraient être utilisés pour générer le CFrame à l'aide de Enum.RotationOrder.XYZ .

ToEulerAnglesYXZ

Renvoie des angles environnants qui pourraient être utilisés pour générer le CFrame à l'aide de Enum.RotationOrder.YXZ .

ToOrientation

Équivalent à CFrame:ToEulerAnglesYXZ() .

ToAxisAngle

Retourne un tableau d'un Vector3 et un nombre qui représente la rotation du CFrame dans la représentation d'angle.

components

Équivalent à CFrame:GetComponents() .

Retours

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

Paramètres

other: CFrame
epsilon: number
Valeur par défaut : 0.00001 (1e-5)

Retours

Opérations Maths