CFrame
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Die CFrame eingeben, kurz für Koordinatenraum, beschreibt eine 3D-Position und Ausrichtung. Es besteht aus einem positionellen Komponenten und einem 2>rotierenden2> Komponenten und enthält alle notwendigen Arithmetikbeträge für die Arbeit mit 3D-Daten auf Roblox.
-- Erstellen Sie ein CFrame an einer bestimmten Position und Euler-Rotationlocal cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
Für eine Einführung in die CFrame eingeben, siehe CFrames .
Positionskomponente
Der positoriale Komponente ist als Vector3 verfügbar. Darüber hinaus sind die Komponenten einer CFrame -Objekt-Position auch in den X , 1> Datatype.CFrame.Y|Y
Drehungskomponente
CFrame speichert 3D-
Die folgende Tabelle repräsentiert die Komponenten einer CFrame-Objekt-Rotation-Matrix und ihre Beziehung zu den verfügbaren Vektor-Eigenschaften wie LookVector und RightVector. Obwohl die einzelnen Komponenten der Rotationsmatrix selten nützlich sind, sind die Vector-Eig
<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, RechtsVector | YVector, UpVector | ZVector, -LookVector ° |
---|
† Anders als die anderen repräsentiert das Datatype.CFrame.LookVector|LookVector die negierten Spaltenkomponenten. Der Datatype.CFrame.LookVector|LookVector ist nützlich, da viele 1>Class.Instance|Instances1> wie die 4>Class.Camera|
Zusammenfassung
Konstrukteure
- 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)
Eigenschaften
Eine Identität CFrame mit keiner Übersetzung oder Rotation.
Die 3D-Position des CFrame .
Eine Kopie des CFrame ohne Übersetzung.
Die X-Koordinate der Position.
Die Y-Koordinaten der Position.
Die Z-Koordinate der Position.
Die vorwärtsgerichtete Komponente der Orientierung des CFrame Objekts, entspricht der negativen Form von ZVector .
Die Richtungskomponente der CFrame-Objektsteuerung.
Die Richtungskomponente der CFrame-Objektsteuerung.
Äquivalent zu RightVector .
Äquivalent zu UpVector .
Der Z-Komponente des CFrame-Objekts. Äquivalent der dritten Säule der Rotationsmatte.
Methoden
Rückgibt das Gegenteil von CFrame .
Kehrt eine CFrame interpoliert zwischen sich und goal durch die Fraktion alpha zurück.
Kehrt eine orthon Normalisierte Kopie des CFrame zurück.
Erhält ein oder mehrere CFrame Objekte und gibt sie vom Objekt zum Platzverwandelt zurück.
Erhält ein oder mehrere CFrame Objekte und gibt sie vom Weltraum in den Platzverwandelt zurück.
Erhält ein oder mehrere Vector3 Objekte und gibt sie vom Objekt in PlatzWelt zurück.
Erhält ein oder mehrere Vector3 Objekte und gibt sie vom Weltraum zum Platzverwandelt zurück.
Erhält ein oder mehrere Vector3 Objekte und gibt sie von Objekt zu Objekt gedreht zurück.
Erhält ein oder mehrere Vector3 Objekte und gibt sie in der Welt von der Position in der Welt zu Platzzurück.
Wird die Werte x , y , z , 1> R
Gibt genaue Winkel zurück, die verwendet werden können, um den CFrame mit dem optionalen Enum.RotationOrder zu generieren.
Gibt genaue Winkel zurück, die verwendet werden können, um das CFrame mit Enum.RotationOrder.XYZ zu generieren.
Gibt genaue Winkel zurück, die verwendet werden können, um das CFrame mit Enum.RotationOrder.YXZ zu generieren.
Äquivalent zu CFrame:ToEulerAnglesYXZ() .
Kehre ein Array von einem Vector3 und einer Zahl zurück, die dieRotation des CFrame in der Achsen-Angaben-Repräsentation darstellt.
Äquivalent zu CFrame:GetComponents() .
Gibt true zurück, wenn der andere 'Datatype.CFrame' in beider Position und Rotation nahe genug ist.
Mathe-Operationen
Konstrukteure
new
fromEulerAngles
Parameter
Eigenschaften
LookVector
Die Vorwärtsrichtungskomponente der CFrame -Objekt's Ausrichtung, entspricht der negierten ZVector oder der negierten dritten Säule der Rotationsmatte.
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)
Das Hinzufügen eines CFrame -Objekts의 LookVector zu sich selbst erzeugt ein CFrame , das in der Richtung, in die es zeigt, um 1 Einheit bewegt wird.
RightVector
Die Rechtschreibkomponente der Ausrichtung des CFrame-Objekts. Äquivalent zu XVector oder der ersten Spalte der Rotationsmatte.
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
Die Richtungskomponente der CFrame -Objekt's Ausrichtung. Äquivalent zu YVector oder der zweiten Säule der Rotationsmatte.
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
Die X-Komponente der CFrame-Objekt-Orientalität. Äquivalent zu RightVector oder der ersten Spalte der Rotationsmatte.
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
Die Y-Komponente der CFrame-Objektorientierung. Äquivalent zu UpVector oder der zweiten Säule der Rotationsmatrix.
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
Der Z-Komponente des CFrame-Objekts. Äquivalent zum negierten LookVector oder der dritten Säule der Rotationsmatte.
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)
Methoden
Orthonormalize
Gibt eine orthonormalisierte Kopie des CFrame zurück. Die BasePart.CFrame -Eigenschaft wendet automatisch eine Orthonormalisierung an, aber andere APIs, die CFrames nehmen, verwenden nicht, so dass diese Methode gelegentlich erforderlich ist, wenn Sie ein 1> Datatype.C
Rückgaben
ToEulerAngles
Gibt genaue Winkel zurück, die verwendet werden können, um den CFrame mit dem optionalen Enum.RotationOrder zu generieren. Wenn Sie keine order bereitstellen, verwendet die Methode 2>Enumerate.RotationOrder.XYZ2>.
Parameter
FuzzyEq
Kehrt true wenn der andere 'Datatype.CFrame' in beider Position und Rotation nahe genug ist. Der eps Wert wird verwendet, um die Toleranz für diese Ähnlichkeit zu steuern. Dieser Wert ist optional und sollte ein kleiner positiver Wert sein, wenn er angegeben wird. Die Ähnlichkeit für die Position ist komponentenweise und für die Rotation verwendet eine schnelle Annahme des Winkels.