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

Người Tạo

new

new

Tham Số

pos: Vector3

new

Tham Số

pos: Vector3
lookAt: Vector3

new

Tham Số

new

Tham Số

new

Tham Số

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

lookAt

Tham Số

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

lookAlong

Tham Số

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

fromRotationBetweenVectors

Tham Số

from: Vector3

fromEulerAngles

Tham Số

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

fromEulerAnglesXYZ

Tham Số

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

Tham Số

rx: number
ry: number
rz: number

Angles

Tham Số

rx: number
ry: number
rz: number

fromOrientation

Tham Số

rx: number
ry: number
rz: number

fromAxisAngle

Tham Số

fromMatrix

Tham Số

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