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()
Trả lại một danh tính trống CFrame .
Trả lại một CFrame với không có chuyển động với vị trí của cung cấp Vector3 .
Trả lại một CFrame với vị trí của một Vector3 đầu tiên và một hướng tỏ ra hướng tới thứ hai.
Điều khiển trả lại một CFrame với một vị trí bao gồm các thành phần x, y và 1> z1>.
Điều khiển trở lại từ vị trí ( CFrame , x , y ) và quaternion ( 1> qX1> , 4> qY4> , 7> z7> , 0> qW0> ) .
Trả lại một CFrame từ vị trí ( x , y , 1> z1> ) với một hướng tốt đẹp được định bởi ma trận quay.
Trả lại một CFrame với vị trí của một Vector3 đầu tiên và một hướng tỏ ra hướng tới thứ hai.
Trả lại một CFrame với vị trí của một Vector3 đầu tiên và một hướng tất cả các hướng theo hướng thứ hai.
- fromRotationBetweenVectors(from : Vector3,to : Vector3)
Điều khiển trả lại một CFrame đại diện cho hướng cần thiết để quay từ Datatype. Vector3 đầu tiên đến Datatype. CFrame thứ hai, với position được đặt để là zero.
- fromEulerAngles(rx : number,ry : number,rz : number,order : Enum.RotationOrder)
Trở lại một Datatype.CFrame quay từ các góc CFrame, rx và ry trong các thứ tự. Các chuyển động được áp dụng trong một 枚RotationOrder</枚> tùy chỉnh với một mức trung tâm 2>XNUM2> .
- fromEulerAnglesXYZ(rx : number,ry : number,rz : number)
Trả lại một CFrame quay từ các góc rx , ry và 1> rz1> ở các tỉ lệ sử dụng 4> Enum.RotationOrder.XYZ4> .
- fromEulerAnglesYXZ(rx : number,ry : number,rz : number)
Trả lại một CFrame quay từ các góc rx , ry và 1> rz1> ở các thứ hạng bằng cách sử dụng 4> Capacity.RotationOrder.YXZ4> .
Đượng tương đương với fromEulerAnglesXYZ() .
- fromOrientation(rx : number,ry : number,rz : number)
Đượng đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương đương
- fromAxisAngle(v : Vector3,r : number)
Trả lại một CFrame đã quay từ một đơn vị Vector3 và một hướng quay trong radians.
- fromMatrix(pos : Vector3,vX : Vector3,vY : Vector3,vZ : Vector3)
Trả lại một CFrame từ một bản dịch và cột của một ma trận quay.
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.
Phép Toán
Người Tạo
new
Đều một new Datatype.CFrame ở địa chỉ CFrame và pos, supposing 11 (0, 1, 0)1> được xem như là "up" trong không gian thế giới.
Đã có thay thế cho người xây dựng này CFrame.lookAt() , which accomplish a similar goal. It remains for the sake of backward compatibility.
Ở các góc cao (xung quanh 82 độ), bạn có thể gặp độ lỗi số. Nếu đây là một vấn đề, hoặc bạn cần một vectơ "up" khác, hãy sử dụng Datatype.CFrame.from
lookAlong
Đều trả một Datatype.CFrame mới với vị trí của CFrame và hướng at , có thể xác định hướng lên trên ( direction ) bằng một mức độ mặc định của 2>(0, 1, 0)2> .
Người xây dựng này tương đương với CFrame.lookAt(at, at + direction) .
fromEulerAngles
Trả lại một CFrame quay từ các góc rx , ry và 1> rz1> ở các thể tích. Các lượt quay được ứng dụng trong một 4> Amount.RotationOrder4> tùy chỉnh với mộ
CFrame.fromEulerAngles(rx, 0, 0) * -- XCFrame.fromEulerAngles(0, ry, 0) * -- YCFrame.fromEulerAngles(0, 0, rz) -- Z
Tham Số
fromEulerAnglesXYZ
Trả lại một CFrame quay từ các góc rx , ry và 1> rz1> ở các thứ hạng bằng cách sử dụng 4> Enum.RotationOrder.XYZ4> , tương đương với:
CFrame.fromEulerAngles(rx, 0, 0) * -- XCFrame.fromEulerAngles(0, ry, 0) * -- YCFrame.fromEulerAngles(0, 0, rz) -- Z
fromEulerAnglesYXZ
Trả lại một CFrame quay từ góc rx , ry và 1> rz1> ở radians bằng cách sử dụng 4> Capacity.RotationOrder.YXZ4>, tương đương với:
CFrame.fromEulerAngles(0, ry, 0) * -- YCFrame.fromEulerAngles(rx, 0, 0) * -- XCFrame.fromEulerAngles(0, 0, rz) -- Z
fromMatrix
Trả lại một CFrame từ một bản dịch và cột của một ma trận quay. Nếu vZ được loại trừ, cột thứ ba được tính toán như một vX:Cross(vY).Unit .
Tham Số
Được tương đương với RightVector .
Được tương đương với - LookVector .
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> .