CFrame

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Typ danych CFrame , skrót koordynować ramę, opisuje pozycję i orientację 3D. Jest składany z komponentu pozycyjnego i komponentu 2>rotacyjnego2> i zawiera niezbędne operacje arytmetyczne do pracy z d danymi na Roblox.


-- Utwórz CFrame na pewnym położeniu i obrocie Euler
local cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)

Aby zapoznać się z CFrame wpisywaćdanych, zobacz Kadry.

Komponent pozycyjny

Komponent pozycyjny jest dostępny jako Vector3. Ponadto pozycja komponentów CFrame jest również dostępna w X, 1> Datatype.CFrame.Y|Y1>

Komponent rotacyjny

CFrame przechowuje 3

Poniższy tabela reprezentuje matrycę rotacji obiektu CFrame i jej związek z dostępnymi właściwościami wectora, takimi jak LookVector i RightVector. Mesk pojedynczych komponentów rotacji matrycy jest rzadko użyteczne sam w sobie, ale w


<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, PraweVectorYVector, UpVectorZVector, -LookVector

^ Spróbuj ponownie Datatype.CFrame.LookVector|LookVector przedstawia komponenty kolumy negowanej. Datatype.CFrame.LookVector jest użyteczny, ponieważ wiele 1> Class.Instance|Instances1> takich jak 4> Class.

Podsumowanie

Konstruktorzy

Właściwości

Metody

Konstruktorzy

new

new

Parametry

pos: Vector3

new

Parametry

pos: Vector3
lookAt: Vector3

new

Parametry

new

Parametry

new

Parametry

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

lookAt

Parametry

lookAt: Vector3
Wartość domyślna: Vector3.yAxis

lookAlong

Parametry

direction: Vector3
Wartość domyślna: Vector3.yAxis

fromRotationBetweenVectors

Parametry

from: Vector3

fromEulerAngles

Parametry

rx: number
ry: number
rz: number
Wartość domyślna: Enum.RotationOrder.XYZ

fromEulerAnglesXYZ

Parametry

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

Parametry

rx: number
ry: number
rz: number

Angles

Parametry

rx: number
ry: number
rz: number

fromOrientation

Parametry

rx: number
ry: number
rz: number

fromAxisAngle

Parametry

fromMatrix

Parametry

Właściwości

identity

Tożsamość CFrame bez tłumaczenia lub obrotu. Ta właściwość jest konstytucją i musi być dostępna globalnie, w przeciwieństwie do indywidualnego obiektu CFrame.

Position

Pozycja 3D CFrame .

Rotation

Kopia CFrame bez tłumaczenia.

Koordynata X pozycji.

Koordynata Y pozycji.

Koordynata Z pozycji.

LookVector

Komponent kierunku przodu obiektu CFrame , równoznaczny z negowanym ZVector lub negowaną trzecią kolumną matrycy rotacyjnej.


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)

Dodawanie obiektu CFrame z LookVector do siebie wytwarza CFrame przesuniętą w przód w kierunku, w którym znajduje się przez 1 jednostkę.

RightVector

Komponent kierunku prawego obiektu CFrame . Równoznaczny z XVector lub pierwszą kolumną matrycy rotacyjnej.


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

Komponent w górę CFrame obiektu. Równoznaczne z YVector lub drugą kolumną matrycy rotacji.


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

Komponent X obiektu CFrame orientacji. Równoznaczne z RightVector lub pierwszą kolumną matrycy rotacyjnej.


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

Komponent Y w obiekcie CFrame orientacji. Równoznaczne z UpVector lub drugą kolumną matrycy rotacyjnej.


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

Komponent Z obiektu CFrame orientacji. Równoznaczny z negowanym LookVector lub trzecim kolumem matrycy rotacyjnej.


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)

Metody

Inverse

Zwraca przeciwieństwo z CFrame .

Zwroty

Lerp

Zwraca CFrame z interpolacją między sobą i goal przez część alpha.

Parametry

goal: CFrame
alpha: number

Zwroty

Orthonormalize

Zwraca orthonormalizowaną kopię CFrame . Właściwość BasePart.CFrame automatycznie stosuje orthonormalizację, ale inne API, które przyjmują CFrames, nie, więc ten metod jest czasami niezbędny, gdy aktualizujesz 2>Datatype.CFrame2> i

Zwroty

ToWorldSpace

Otrzymuje jeden lub więcej obiektów CFrame i wypatryuje ich przekształconych z obiektu do przestrzeni świata. Równoznaczne z:

CFrame * cf

Parametry

Zwroty

ToObjectSpace

Otrzymuje jeden lub więcej obiektów CFrame i wszystkie zostaną przekształcone z obszaru świata do przestrzeni obiektu. Równoznaczne z:

CFrame:Inverse() * cf

Parametry

Zwroty

PointToWorldSpace

Otrzymuje jeden lub więcej obiektów Vector3 i wypatryuje ich przekształconych z obiektu do przestrzeni świata. Równoznaczne z:

CFrame * v3

Parametry

Zwroty

PointToObjectSpace

Otrzymuje jeden lub więcej obiektów Vector3 i wszystkie zostaną przekształcone z obszaru świata do przestrzeni obiektu. Równoznaczne z:

CFrame:Inverse() * v3

Parametry

Zwroty

VectorToWorldSpace

Otrzymuje jeden lub więcej obiektów Vector3 i wszystkie zwraca do obiektu w przestrzeni obiektu. Równoznaczne z:

(CFrame - CFrame.Position) * v3

Parametry

Zwroty

VectorToObjectSpace

Otrzymuje jeden lub więcej obiektów Vector3 i wypatryuje ich w obszarze obiektu z obrotu z świata do przestrzeni obiektu. Równoznaczne z:

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

Parametry

Zwroty

GetComponents

Zwraca wartości x, y, z, 1> R0

Zwroty

ToEulerAngles

Zwraca około kąty, które można użyć do generowania CFrame przy użyciu opcjonalnego Enum.RotationOrder. Jeśli nie dostarczasz order, metoda używa 1> Container.RotationOrder.XYZ1>.

Parametry

Wartość domyślna: Enum.RotationOrder.XYZ

ToEulerAnglesXYZ

Zwraca około kąty, które można użyć do generowania CFrame przy użyciu Enum.RotationOrder.XYZ .

ToEulerAnglesYXZ

Zwraca około kąty, które można użyć do generowania CFrame przy użyciu Enum.RotationOrder.YXZ.

ToOrientation

Równoznaczny z CFrame:ToEulerAnglesYXZ() .

ToAxisAngle

Zwraca Vector3 i numer, które reprezentują rotację CFrame w przedstawieniu kątowo-świetlnym.

components

Równoznaczny z CFrame:GetComponents() .

Zwroty

FuzzyEq

Wykonuje true jeśli inny "Datatype.CFrame" jest wystarczająco blisko tego "Datatype.CFrame" w obu pozycji i obrotu. Wartość eps jest używana do kontroli tolerancji dla tej podobieństwa. Ta wartość jest opcjonalna i powinna być małą pozytywną wartością, jeśli zostanie dostarczona. W

Parametry

other: CFrame
epsilon: number
Wartość domyślna: 0.00001 (1e-5)

Zwroty

Działania matematyczne