CFrame

Hiển Thị Bản Đã Lỗi Thời

*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 rotation
local 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, RightVectorYVector, UpVectorZVector, -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

Thuộc Tính

Phương Pháp

Phép Toán

Người Tạo

new

Tạo một danh tính trống CFrame .

new

Trả lại một CFrame với không có chuyển động với vị trí của cung cấp Vector3 .

Tham Số

pos: Vector3

new

Đều một new Datatype.CFrame ở địa chỉ CFramepos, 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

Tham Số

pos: Vector3
lookAt: Vector3

new

Đ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>.

Tham Số

new

Trả lại một CFrame từ vị trí ( x , y , 1> z1> ) và quaternion ( 4> qX4> , <

Tham Số

new

Tạo một CFrame từ vị trí ( x , y , 1> z1> ) với một hướng tối đa được xác định bởi ma trận quay.

[[R00 R01 R02] [R10 R11 R12] [R20 R21 R22]]

Tham Số

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

lookAt

Đều trả một Datatype.CFrame mới với vị trí của CFrame và hướng về phía at , tùy chỉnh theo hướng tăng dần ( lookAt ) với một mức 2> trên trung tâm2> mặc định.

Tham Số

lookAt: Vector3
Giá Trị Mặc Định: Vector3.yAxis

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) .

Tham Số

direction: Vector3
Giá Trị Mặc Định: Vector3.yAxis

fromRotationBetweenVectors

Đ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.

Tham Số

from: Vector3

ベクトル đại diện hướng "từ" .

ベクトル đại diện hướng "đến".

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) * -- X
CFrame.fromEulerAngles(0, ry, 0) * -- Y
CFrame.fromEulerAngles(0, 0, rz) -- Z

Tham Số

rx: number
ry: number
rz: number
Giá Trị Mặc Định: Enum.RotationOrder.XYZ

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) * -- X
CFrame.fromEulerAngles(0, ry, 0) * -- Y
CFrame.fromEulerAngles(0, 0, rz) -- Z

Tham Số

rx: number
ry: number
rz: number

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) * -- Y
CFrame.fromEulerAngles(rx, 0, 0) * -- X
CFrame.fromEulerAngles(0, 0, rz) -- Z

Tham Số

rx: number
ry: number
rz: number

Angles

Đượng tương đương với fromEulerAnglesXYZ() .

Tham Số

rx: number
ry: number
rz: number

fromOrientation

Đượ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

Tham Số

rx: number
ry: number
rz: number

fromAxisAngle

Trả lại một CFrame đã quay từ một đơn vị Vector3 và một hướng quay trong radians.

Tham Số

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ố

pos: Vector3

Vị trí 3D của CFrame .

Được tương đương với RightVector .

Được tương đương với UpVector .

Được tương đương với - LookVector .

Thuộc Tính

identity

Một danh tính CFrame với không có chuyển dịch hoặc quay. Đây là một đặt tính kiểm soát và phải được truy cập toàn cầu, chứ không phải qua một đối tượng đơn lẻ CFrame .

Position

Vị trí 3D của CFrame .

Rotation

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í.

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

Inverse

Trả lại ngược lại của CFrame .

Lợi Nhuận

Lerp

Điều chỉnh một CFrame bị lỗi giữa chính nó và goal bởi tỷ lệ alpha .

Tham Số

goal: CFrame
alpha: number

Lợi Nhuận

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

ToWorldSpace

Nhận một hoặc nhiều đối tượng CFrame và trả lại chúng đã biến thể từ thế giới đối tượng đến không gian thế giới. Tương đương với:

CFrame * cf

Tham Số

Lợi Nhuận

ToObjectSpace

Nhận một hoặc nhiều đối tượng CFrame và trả lại chúng đã biến hình từ thế giới sang không gian đối tượng. Tương đương với:

CFrame:Inverse() * cf

Tham Số

Lợi Nhuận

PointToWorldSpace

Nhận một hoặc nhiều đối tượng Vector3 và trả lại chúng đã biến thể từ thế giới đối tượng đến không gian thế giới. Tương đương với:

CFrame * v3

Tham Số

Lợi Nhuận

PointToObjectSpace

Nhận một hoặc nhiều đối tượng Vector3 và trả lại chúng đã biến hình từ thế giới sang không gian đối tượng. Tương đương với:

CFrame:Inverse() * v3

Tham Số

Lợi Nhuận

VectorToWorldSpace

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. Tương đương với:

(CFrame - CFrame.Position) * v3

Tham Số

Lợi Nhuận

VectorToObjectSpace

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 đối tượng. Tương đương với:

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

Tham Số

Lợi Nhuận

GetComponents

Trả lại giá trị x , y , z , 1> R0

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> .

Tham Số

Giá Trị Mặc Định: Enum.RotationOrder.XYZ

Lợi Nhuận

ToEulerAnglesXYZ

Đạ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 .

Lợi Nhuận

ToEulerAnglesYXZ

Đ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 .

Lợi Nhuận

ToOrientation

Đượng tương đương với CFrame:ToEulerAnglesYXZ() .

Lợi Nhuận

ToAxisAngle

Đ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.

Lợi Nhuận

components

Được tương đương với CFrame:GetComponents() .

Lợi Nhuận

FuzzyEq

Trả lại true nếu 'Datatype.CFrame' khác đủ gần với 'Datatype.CFrame' này ở cả vị trí và quay. Giá trị eps được sử dụng để điều khiển độ dung dịch cho sự tương đồng này. Giá trị này là tù

Tham Số

other: CFrame
epsilon: number
Giá Trị Mặc Định: 0.00001 (1e-5)

Lợi Nhuận

Phép Toán


Sản xuất một new CFrame đại diện cho sự hợp nhất của hai CFrames .


Sản xuất một Vector3 biến từ đối tượng thế giới đến các thông số thế giới.


Sản xuất một CFrame được dịch trong không gian thế giới bởi Vector3 .


Sản xuất một CFrame được dịch trong không gian thế giới bởi người dương tính Vector3 .