CFrame
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Dữ liệu CFrame , ngắn cho khung vị trí hồ sơ , mô tả một vị trí và hướng 3D. Nó được tạo bởi một positional component và một 1> component rotational1> và bao gồm các hoạt động arithmetic cơ bản cho việc làm việc với d
-- Tạo một CFrame ở một vị trí nhất định và Euler rotationlocal cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)
Đối với một giới thiệu về đánh máydữ liệu CFrame, xem CFrames .
Thành phần chỉ định
Thành phần vị trí có sẵn như một Vector3 . Ngoài ra, các thành phần của một CFrame đối tượng cũng có sẵn trong các <
Thành phần quay
CFrame lưu
Bảng bên dưới代表表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示表示
<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, RightVector | YVector, UpVector | ZVector, -LookVector ^ |
---|
^ Đối với những người khác, Datatype.CFrame.LookVector|LookVector đại diện cho các thành phần cột bị đoán xét. The Datatype.CFrame.LookVector|LookVector is h
Tóm Tắt
Người Tạo
- 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)
Thuộc Tính
Một danh tính CFrame không có chuyển dịch hoặc quay.
Vị trí 3D của CFrame .
Một bản sao của CFrame mà không có dịch.
Phối hợp X của vị trí.
Vị trí Y của vị trí.
Phối hợp Z của vị trí.
Phần tử hướng đi trước của đối tượng CFrame để tạo hướng tương đương với hình dạng được đảo ngược của ZVector .
Phần của đối tượng CFrame để định hướng.
Phần màu lên của đối tượng CFrame .
Được tương đương với RightVector .
Được tương đương với UpVector .
Phần Z của đối tượng CFrame có hướng. Tương đương với cột thứ ba của ma trận quay.
Phương Pháp
Trả lại ngược lại của CFrame .
Điều chỉnh một CFrame bị lỗi giữa chính nó và goal bởi tỷ lệ alpha .
Trả lại một bản sao bình thường hóa của CFrame .
Nhận một hoặc nhiều CFrame đối tượng và trả lại chúng được biến thể từ đối tượng sang không gian thế giới.
Nhận một hoặc nhiều CFrame đối tượng và trả lại chúng được biến hình từ thế giới sang không gian đối tượng.
Nhận một hoặc nhiều đối tượng Vector3 và trả lại chúng được biến hóa từ đối tượng đến không gian thế giới.
Nhận một hoặc nhiều đối tượng Vector3 và trả lại chúng được biến hình từ thế giới sang không gian đối tượng.
Nhận một hoặc nhiều đối tượng Vector3 và trả lại chúng quay từ đối tượng đến không gian thế giới.
Nhận một hoặc nhiều đối tượng Vector3 và trả lại chúng quay từ không gian thế giới đến không gian mục tiêu.
Trả lại giá trị x , y , z , 1> R0
Đại diện góc chính xác mà có thể được sử dụng để tạo ra CFrame bằng cách sử dụng Enum.RotationOrder bắt buộc.
Đại diện góc khoảng cần thiết để tạo ra CFrame bằng cách sử dụng Enum.RotationOrder.XYZ .
Điều chỉnh góc chính xác mà có thể được sử dụng để tạo ra CFrame bằng cách sử dụng Enum.RotationOrder.YXZ .
Đượng tương đương với CFrame:ToEulerAnglesYXZ() .
Điều này trả về một tuần tử của một Vector3 và một số đại diện cho sự quay của CFrame trong biểu tượng góc.
Được tương đương với CFrame:GetComponents() .
Trả lại true nếu các 'Datatype.CFrame' khác có gần đủ với 'Datatype.CFrame' này ở cả vị trí và quay.
Người Tạo
new
fromEulerAngles
Tham Số
Thuộc Tính
LookVector
Phần tử hướng đi trước của đối tượng CFrame có hướng tương đương với negated ZVector hoặc colonna negata của máy đo lượng trục.
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)
Thêm một CFrame đối tượng vào bản thân mình sản xuất một LookVector để tạo ra một CFrame di chuyển về phía trước trong bất kỳ hướng nào nó đang ở.
RightVector
Phần tử hướng tốt của đối tượng CFrame . Được tương đương với XVector hoặc là một trong những cột đầu tiên của trục tranh vảy.
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
Phần tử hướng lên của đối tượng CFrame . Được tương đương với YVector hoặc cột thứ hai của ma trận quay.
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
Phần X của đối tượng CFrame có hướng. Tương đương với RightVector hoặc là cột đầu tiên của ma trận quay.
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
Phần Y của đối tượng CFrame có hướng. Được tương đương với UpVector hoặc cột thứ hai của ma trận quay.
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
Phần Z của đối tượng CFrame có hướng. Tương đương với negated LookVector hoặc cột thứ ba của máy đo lường.
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)
Phương Pháp
Orthonormalize
Trả lại một bản sao được điều chỉnh của CFrame . The BasePart.CFrame property automatically applies điều chỉnh, nhưng các API khác mà được thực hiện bằng cách sử dụng Datatype.CFrame|CFr
Lợi Nhuận
ToEulerAngles
Trả lại các góc chính xác có thể được sử dụng để tạo ra CFrame bằng cách sử dụng Enum.RotationOrder tùy chọn. Nếu bạn không cung cấp order, phương pháp sử dụng 1> Container.RotationOrder.XYZ1> .