CFrame
*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 Eulerlocal 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, PraweVector | YVector, UpVector | ZVector, -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
- 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)
Właściwości
Tożsamość CFrame bez tłumaczenia lub obrotu.
Pozycja 3D CFrame .
Kopia CFrame bez tłumaczenia.
Koordynata X pozycji.
Koordynata Y pozycji.
Koordynata Z pozycji.
Przodem kierunku komponentu CFrame obiektu, równoznaczny z negatywną formą ZVector.
Komponent kierunkowy CFrame obiektu.
Komponent w górę kompozycji CFrame obiektu.
Równoznaczny z RightVector .
Równoznaczny z UpVector .
Komponent Z obiektu CFrame orientacji. Równoznaczny z trzecim kolorem kolumy rotacji.
Metody
Zwraca przeciwieństwo z CFrame .
Zwraca CFrame z interpolacją między sobą i goal przez część alpha.
Zwraca orthonormalizowaną kopię CFrame .
Otrzymuje jeden lub więcej obiektów CFrame i wszystkie zostaną przekształcone z obiektu do przestrzeni świata.
Otrzymuje jeden lub więcej obiektów CFrame i wszystkie zostaną przekształcone z obszaru świata do przestrzeni obiektu.
Otrzymuje jeden lub więcej obiektów Vector3 i wszystkie zostaną przekształcone z obiektu do przestrzeni świata.
Otrzymuje jeden lub więcej obiektów Vector3 i restituuje je przekształcone z obszaru świata do przestrzeni obiektu.
Otrzymuje jeden lub więcej obiektów Vector3 i wszystkie zwraca do świata przestrzeni obiektu.
Otrzymuje jeden lub więcej obiektów Vector3 i wszystkie zwraca do obszaru obiektu z obrotu z świata do przestrzeni obiektu.
Zwraca wartości x, y, z, 1> R0
Zwraca około kąty, które można użyć do generowania CFrame przy użyciu opcjonalnego Enum.RotationOrder .
Zwraca około kąty, które można użyć do generowania CFrame przy użyciu Enum.RotationOrder.XYZ .
Zwraca około kąty, które można użyć do generowania CFrame przy użyciu Enum.RotationOrder.YXZ.
Równoznaczny z CFrame:ToEulerAnglesYXZ() .
Zwraca Vector3 i numer, które reprezentują rotację CFrame w przedstawieniu kątowo-świetlnym.
Równoznaczny z CFrame:GetComponents() .
Wywraca true jeśli inny 'Datatype.CFrame' jest wystarczająco blisko tego 'Datatype.CFrame' w obu pozycji i obrotu.
Działania matematyczne
Konstruktorzy
new
fromEulerAngles
Parametry
Właściwości
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
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
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
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
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