CFrame
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Jenis data CFrame , singkatan dari koordinasikan frame , menggambarkan posisi dan orientasi 3D. Ini terdiri dari komponen posisional dan komponen 1>rotasi1> dan termasuk operasi aritmatika dasar untuk bekerja dengan data 3D di Roblox.
-- Buat CFrame di posisi tertentu dan rotasi Eulerlocal cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
Untuk pengantar ke ketikdata CFrame, lihat CFrames.
Komponen Posisi
Komponen posisional tersedia sebagai Vector3 . Selain itu, komponen dari objek CFrame objek's posisi juga tersedia dalam X , 1> Dat
Komponen Rotasi
CFrame menyimpan
Tabel di bawah ini mewakili komponen dari objek CFrame matriksi rotasi dan hubungannya dengan propinsiktor vektor yang tersedia seperti LookVector dan RightVector . Meskipun komponen individual dari matriksi rotasi tidak jarang berguna send
<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, Nilai Vector Kanan | YVector, Up Vector | ZVector, -LihatVector ^ ^ |
---|
^ Datatype.CFrame.LookVector|LookVector mewakili komponen kolom yang dibantah. Komponen kolom Datatype.CFrame.LookVector|LookVector berguna karena banyak 1>Class.Instance|Instances1> seperti 4>Class.Camera
Rangkuman
Konstruktor
- 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)
Properti
Sebuah identitas CFrame tanpa terjemahan atau rotasi.
Posisi 3D dari CFrame.
Sebuah salinan dari CFrame tanpa terjemahan.
Koordinat X dari posisi.
Koordinat Y dari posisi.
Koordinat Z dari posisi.
Komponen arah depan dari objek CFrame orientasi, setara dengan bentuk negatif dari ZVector .
Komponen arah kanan dari objek CFrame objek.
Komponen ke arah atas dari objek CFrame orientasi.
Setara dengan RightVector .
Setara dengan UpVector .
Komponen Z dari objek CFrame orientasi. Setara dengan kolom ketiga dari matriksi rotasi.
Metode
Mengembalikan kebalikan dari CFrame .
Mengembalikan 2 Datatype.CFrame antara dirinya sendiri dan goal dengan persentase alpha.
Mengembalikan salinan ortimal dari CFrame .
Menerima satu atau lebih CFrame objek dan mengembalikannya berubah dari objek ke ruang dunia.
Menerima satu atau lebih CFrame objek dan mengembalikannya berubah dari dunia ke ruang objek.
Menerima satu atau lebih Vector3 objek dan mengembalikannya berubah dari objek ke ruang dunia.
Menerima satu atau lebih Vector3 objek dan mengembalikannya berubah dari dunia ke ruang objek.
Menerima satu atau lebih Vector3 objek dan mengembalikannya berputar dari objek ke ruang dunia.
Menerima satu atau lebih objek Vector3 dan mengembalikannya berputar dari ruang dunia ke ruang objek.
Mengembalikan nilai x , y , z , 1>
Mengembalikan sudut kira-kira yang dapat digunakan untuk menghasilkan CFrame menggunakan Enum.RotationOrder yang opcional.
Mengembalikan sudut kira-kira yang dapat digunakan untuk menghasilkan CFrame menggunakan Enum.RotationOrder.XYZ .
Mengembalikan sudut kira-kira yang dapat digunakan untuk menghasilkan CFrame menggunakan Enum.RotationOrder.YXZ .
Setara dengan CFrame:ToEulerAnglesYXZ() .
Mengembalikan tuple dari Vector3 dan nomor yang mewakili rotasi CFrame di representasi sudut-sudut.
Setara dengan CFrame:GetComponents() .
Mengembalikan true jika 'Datatype.CFrame' lainnya cukup dekat dengan 'Datatype.CFrame' ini dalam posisi dan rotasi.
Operasi Matematika
Konstruktor
new
fromEulerAngles
Parameter
Properti
LookVector
Komponen arah ke depan dari objek CFrame objek, setara dengan negatif ZVector atau kolom negatif pada matriksi rotasi.
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)
Menambahkan objek CFrame ke dirinya sendiri menghasilkan LookVector yang pindah ke depan dalam arah mana pun yang dihadapinya dengan satu unit.
RightVector
Komponen arah kanan dari objek CFrame orientasi. Setara dengan XVector atau kolom pertama dari matriksi rotasi.
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
Komponen ke arah atas dari objek CFrame orientasi. Setara dengan YVector atau kolom kedua dari matriksi rotasi.
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
Komponen X dari objek CFrame orientasi. Setara dengan RightVector atau kolom pertama dari matriksi rotasi.
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
Komponen Y dari objek CFrame orientasi. Setara dengan UpVector atau kolom kedua dari matriksi rotasi.
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
Komponen Z dari objek CFrame orientasi. Setara dengan negatif LookVector atau kolom ketiga dari matriksi rotasi.
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)
Metode
Orthonormalize
Mengembalikan salinan orttomatis dari CFrame . Propiedad BasePart.CFrame menerapkan otomatis orttomatisasi, tetapi API lain yang mengambil CFrames tidak, jadi metode ini diperlukan ketika meningkatkan secara bertahap sebuah
Memberikan nilai
ToEulerAngles
Mengembalikan sudut kira-kira yang dapat digunakan untuk menghasilkan CFrame menggunakan opsi Enum.RotationOrder . Jika Anda tidak menyediakan order, metode menggunakan 1> Container.RotationOrder.XYZ1> .
Parameter
FuzzyEq
Mengembalikan true jika 'Datatype.CFrame' lainnya cukup dekat dengan 'Datatype.CFrame' ini dalam posisi dan rotasi.Nilai eps digunakan untuk mengontrol tolerans untuk kesamaan ini.Nilai ini adalah opsional dan harus menjadi nilai kecil jika diberikan.Nilai untuk posisi adalah komponen-wise, dan untuk rot