CFrame

Veraltete anzeigen

*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-Rotation
local 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, RechtsVectorYVector, UpVectorZVector, -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

Eigenschaften

Methoden

Konstrukteure

new

new

Parameter

pos: Vector3

new

Parameter

pos: Vector3
lookAt: Vector3

new

Parameter

new

Parameter

new

Parameter

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

lookAt

Parameter

lookAt: Vector3
Standardwert: Vector3.yAxis

lookAlong

Parameter

direction: Vector3
Standardwert: Vector3.yAxis

fromRotationBetweenVectors

Parameter

from: Vector3

fromEulerAngles

Parameter

rx: number
ry: number
rz: number
Standardwert: Enum.RotationOrder.XYZ

fromEulerAnglesXYZ

Parameter

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

Parameter

rx: number
ry: number
rz: number

Angles

Parameter

rx: number
ry: number
rz: number

fromOrientation

Parameter

rx: number
ry: number
rz: number

fromAxisAngle

Parameter

fromMatrix

Parameter

Eigenschaften

identity

Eine Identität CFrame mit keiner Übersetzung oder Rotation. Diese Eigenschaft ist eine Konstante und muss global zugreifbar sein, im Gegensatz zu einem einzelnen CFrame -Objekt.

Position

Die 3D-Position des CFrame .

Rotation

Eine Kopie des CFrame ohne Übersetzung.

Die X-Koordinate der Position.

Die Y-Koordinaten der Position.

Die Z-Koordinate der Position.

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

Inverse

Rückgibt das Gegenteil von CFrame .

Rückgaben

Lerp

Kehrt eine CFrame interpoliert zwischen sich und goal durch die Fraktion alpha zurück.

Parameter

goal: CFrame
alpha: number

Rückgaben

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

ToWorldSpace

Erhält ein oder mehrere CFrame Objekte und gibt sie vom Objekt zum Platzverwandelt zurück. Äquivalent zu:

CFrame * cf

Parameter

Rückgaben

ToObjectSpace

Erhält ein oder mehrere CFrame Objekte und gibt sie vom Weltraum in den Platzverwandelt zurück. Äquivalent zu:

CFrame:Inverse() * cf

Parameter

Rückgaben

PointToWorldSpace

Erhält ein oder mehrere Vector3 Objekte und gibt sie vom Objekt zum Platzverwandelt zurück. Äquivalent zu:

CFrame * v3

Parameter

Rückgaben

PointToObjectSpace

Erhält ein oder mehrere Vector3 Objekte und gibt sie vom Platzin die Objekt-Zuordnung zurück. Äquivalent zu:

CFrame:Inverse() * v3

Parameter

Rückgaben

VectorToWorldSpace

Erhält ein oder mehrere Vector3 Objekte und gibt sie in der Reihenfolge von Objekt zu Platzgedreht zurück. Äquivalent zu:

(CFrame - CFrame.Position) * v3

Parameter

Rückgaben

VectorToObjectSpace

Erhält ein oder mehrere Vector3 Objekte und gibt sie in der Reihenfolge von der Welt in den Platzgedreht zurück. Äquivalent zu:

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

Parameter

Rückgaben

GetComponents

Wird die Werte x , y , z , 1> R

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

Standardwert: Enum.RotationOrder.XYZ

ToEulerAnglesXYZ

Gibt genaue Winkel zurück, die verwendet werden können, um das CFrame mit Enum.RotationOrder.XYZ zu generieren.

ToEulerAnglesYXZ

Gibt genaue Winkel zurück, die verwendet werden können, um das CFrame mit Enum.RotationOrder.YXZ zu generieren.

ToOrientation

Äquivalent zu CFrame:ToEulerAnglesYXZ() .

ToAxisAngle

Kehre ein Array von einem Vector3 und einer Zahl zurück, die dieRotation des CFrame in der Achsen-Angaben-Repräsentation darstellt.

Rückgaben

components

Äquivalent zu CFrame:GetComponents() .

Rückgaben

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.

Parameter

other: CFrame
epsilon: number
Standardwert: 0.00001 (1e-5)

Rückgaben

Mathe-Operationen