CFrame

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ข้อมูลชนิด CFrame สั้น ๆ สำหรับ Robloxอธิบายตำแหน่งและการจัดเรียง มันประกอบด้วยส่วนประกอบ positional และส่วนประกอบ 1>rotational


-- สร้าง CFrame ที่ตำแหน่งที่กำหนดและ Euler การหมุน
local cf = CFrame.new(0, 5, 0) * CFrame.fromEulerAngles(math.rad(45), 0, 0)

สำหรับการแนะนำรูปแบบข้อมูล CFrame ให้ดูที่ CFrames

ส่วนประกอบที่ตำแหน่ง

ส่วนประกอบตำแหน่งสามารถใช้ได้ในรูปแบบ Vector3 นอกจากนี้, ส่วนประกอบของวัตถุ CFrame ยั

ส่วนประกอบการหมุน

CFrame สตรีม

ตารางด้านล่างแสดงให้เห็นถึงส่วนประกอบของวงล้อการหมุนของ CFrame ตัวและความสัมพันธ์ของพวกเขากับพรรคเวกเตอร์ที่มีอยู่ เช่


<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, เวกเตอร์ขวาYVector, UpVectorZVector, -LookVector °

† โดยทั่วไปจะไม่เหมือนกับคนอื่น ๆ ในขณะที่ Datatype.CFrame.LookVector|LookVector เป็นตัวแทนของส่วนประกอบคอลั

สรุป

คอนสตรัคเตอร์

คุณสมบัติ

  • ไอดี CFrame โดยไม่มีการแปลหรือการหมุน

  • ตําแหน่ง 3D ของ CFrame

  • คัดลอกของ CFrame โดยไม่มีคำแปล

  • ตำแหน่ง X

  • ตำแหน่ง Y

  • ตำแหน่ง Z

  • ส่วนประกอบทิศทางหน้าของวัตถุ CFrame มีความเหมาะสมกับรูปร่างเชิงบวกของวัตถุ ZVector

  • ส่วนประกอบทางด้านขวาของวัตถุ CFrame นี้

  • ส่วนประกอบขึ้นของ CFrame ระบบทิศทาง

  • เทียบเท่ากับ RightVector

  • เทียบเท่ากับ UpVector

  • ส่วน Z ของวัตถุ CFrame ออกแบบตำแหน่ง. เทียบเท่ากับสามคอลัมของคลื่นสี่

วิธีการ

  • กลับค่าตรงกันของ CFrame

  • Lerp(goal : CFrame,alpha : number):CFrame

    กลับมาที่ CFrame ที่เรียบร้อยระหว่างตัวเองและ goal โดยส่วนที่ alpha โดยส่วนที่ 2> Datatype.CFrame2> ของมัน Thai:กลับมาที่ Datatype.CFrame ที่เรียบร้อยระหว่างตัวเองและ goal โดยส่ว

  • กลับคัดลอกที่เป็นปกติของ CFrame

  • รับหนึ่งหรือมากกว่า CFrame วัตถุและนำกลับมาเปลี่ยนแปลงจากโลกสู่พื้นที่โลก

  • รับหนึ่งหรือมากกว่า CFrame วัตถุและนำกลับมาเปลี่ยนแปลงจากโลกสู่พื้นที่วัตถุ

  • รับหนึ่งหรือมากกว่า Vector3 วัตถุและนำกลับมาเปลี่ยนแปลงจากโลกสู่พื้นที่โลก

  • รับหนึ่งหรือมากกว่า Vector3 วัตถุและนำกลับมาเปลี่ยนแปลงจากโลกสู่พื้นที่วัตถุ

  • รับหนึ่งหรือมากกว่า Vector3 วัตถุและนำกลับมาให้หมุนจากวัตถุสู่พื้นที่โลก

  • รับหนึ่งหรือมากกว่า Vector3 วัตถุและนำกลับมาให้หมุนจากพื้นที่โลกสู่พื้นที่วัตถุ

  • กลับค่า x , y , z , 1>

  • กลับมุมที่ใกล้เคียงที่สามารถใช้เพื่อสร้าง CFrame โดยใช้ Enum.RotationOrder อย่างอนุรักษ์นิยม

  • กลับมุมที่ใกล้เคียงที่สามารถใช้เพื่อสร้าง CFrame โดยใช้ Enum.RotationOrder.XYZ

  • กลับมุมที่ใกล้เคียงที่สามารถใช้เพื่อสร้าง CFrame โดยใช้ Enum.RotationOrder.YXZ

  • เทียบเท่ากับ CFrame:ToEulerAnglesYXZ() .

  • กลับรายการของ Datatype.Vector3 และตัวเลขที่แทนที่การหมุนของ CFrame ในการแสดงผลแนวโน้ม

  • เทียบเท่ากับ CFrame:GetComponents() .

  • FuzzyEq(other : CFrame,epsilon : number):bool

    กลับ true หากค่า 'Datatype.CFrame' อื่น ๆ ใกล้เคียงกับค่านี้ในตำแหน่งและการหมุนทั้งหมด

การดำเนินการทางคณิตศาสตร์

คอนสตรัคเตอร์

new

new

พารามิเตอร์

pos: Vector3

new

พารามิเตอร์

pos: Vector3
lookAt: Vector3

new

พารามิเตอร์

new

พารามิเตอร์

new

พารามิเตอร์

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

lookAt

พารามิเตอร์

lookAt: Vector3
ค่าเริ่มต้น: Vector3.yAxis

lookAlong

พารามิเตอร์

direction: Vector3
ค่าเริ่มต้น: Vector3.yAxis

fromRotationBetweenVectors

พารามิเตอร์

from: Vector3

fromEulerAngles

พารามิเตอร์

rx: number
ry: number
rz: number
ค่าเริ่มต้น: Enum.RotationOrder.XYZ

fromEulerAnglesXYZ

พารามิเตอร์

rx: number
ry: number
rz: number

fromEulerAnglesYXZ

พารามิเตอร์

rx: number
ry: number
rz: number

Angles

พารามิเตอร์

rx: number
ry: number
rz: number

fromOrientation

พารามิเตอร์

rx: number
ry: number
rz: number

fromAxisAngle

พารามิเตอร์

fromMatrix

พารามิเตอร์

คุณสมบัติ

identity

ไอดีนี้ CFrame โดยไม่มีการแปลหรือการหมุน สิ่งนี้เป็นค่า คงที่ และต้องเข้าถึงได้ทั่วโลกในขณะที่ผ่านการเข้าถึงโดยผ่านการเข้าถึงได้ทั่วโลกผ่านการเข้าถึงโดยผ่า

Position

ตําแหน่ง 3D ของ CFrame

Rotation

คัดลอกของ CFrame โดยไม่มีคำแปล

ตำแหน่ง X

ตำแหน่ง Y

ตำแหน่ง Z

LookVector

ส่วนประกอบทิศทางหน้าของวัตถุ CFrame มีความเท่าเทียมกับการเคลื่อนที่เป็นบวกของวัตถุ ZVector หรือการเคลื่อนที่เป็นบวกของคอลัมน์ที่สามของรูปแบบการหมุน


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)

การเพิ่มวัตถุ CFrame ของตัวเอง LookVector เพิ่มขึ้น ในทิศทางที่มันหันไป โดย 1 หน่วย

RightVector

ส่วนประกอบทิศทางขวาของวัตถุ CFrame คือตำแหน่งของมัน เทียบเท่ากับ XVector หรือคอลัมแรกของแมทริคการหมุน


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

ส่วนประกอบขึ้นแนวนอกของวัตถุ CFrame คือตำแหน่งของมัน เทียบเท่ากับ YVector หรือคอลัมที่สองของแมทริคการหมุน


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

ส่วน X ของวัตถุ CFrame ออกแบบตำแหน่ง เทียบเท่ากับ RightVector หรือคอลัมแรกของรายการหมุน


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

ส่วน Y ของวัตถุ CFrame ออกแบบตำแหน่ง เทียบเท่ากับ UpVector หรือคอลัมที่สองของแมทริคการหมุน


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

ส่วนประกอบ Z ของวัตถุ CFrame การจัดตำแหน่งของมัน เทียบเท่ากับ negated LookVector หรือคอลัมที่สามของรายการหมุน


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)

วิธีการ

Inverse

กลับค่าตรงกันของ CFrame

ส่งค่ากลับ

Lerp

กลับมาที่ CFrame ที่เรียบร้อยระหว่างตัวเองและ goal โดยส่วนที่ alpha โดยส่วนที่ 2> Datatype.CFrame2> ของมัน Thai:กลับมาที่ Datatype.CFrame ที่เรียบร้อยระหว่างตัวเองและ goal โดยส่ว

พารามิเตอร์

goal: CFrame
alpha: number

ส่งค่ากลับ

Orthonormalize

กลับคืนคัดลอกอธิปไตยของ CFrame อันธรรมาธิปไตย สมบูรณ์ แต่คัดลอกอธิปไตยของ BasePart.CFrame จะใช้การอธิปไตยอัตโนมัติ

ส่งค่ากลับ

ToWorldSpace

รับหนึ่งหรือมากกว่า CFrame วัตถุและนำกลับมาเปลี่ยนแปลงจากวัตถุสู่พื้นที่โลก เทียบเท่ากับ:

CFrame * cf

พารามิเตอร์

ส่งค่ากลับ

ToObjectSpace

รับหนึ่งหรือมากกว่า CFrame วัตถุและนำกลับมาเปลี่ยนแปลงจากโลกสู่พื้นที่วัตถุ เทียบเท่ากับ:

CFrame:Inverse() * cf

พารามิเตอร์

ส่งค่ากลับ

PointToWorldSpace

รับหนึ่งหรือมากกว่า Vector3 วัตถุและนำกลับมาเปลี่ยนแปลงจากวัตถุเป็นพื้นที่โลก เทียบเท่ากับ:

CFrame * v3

พารามิเตอร์

ส่งค่ากลับ

PointToObjectSpace

รับหนึ่งหรือมากกว่า Vector3 วัตถุและนำกลับมาเปลี่ยนแปลงจากโลกสู่พื้นที่วัตถุ เทียบเท่ากับ:

CFrame:Inverse() * v3

พารามิเตอร์

ส่งค่ากลับ

VectorToWorldSpace

รับหนึ่งหรือมากกว่า Vector3 วัตถุและส่งคืนพวกเขาในรูปแบบหมุนจากวัตถุสู่พื้นที่โลก เทียบเท่ากับ:

(CFrame - CFrame.Position) * v3

พารามิเตอร์

ส่งค่ากลับ

VectorToObjectSpace

รับหนึ่งหรือมากกว่า Vector3 วัตถุและนำกลับมาในรูปแบบหมุนวนจากโลกสู่พื้นที่วัตถุ เทียบเท่ากับ:

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

พารามิเตอร์

ส่งค่ากลับ

GetComponents

กลับค่า x , y , z , 1>

ส่งค่ากลับ

ToEulerAngles

กลับมุมที่ใกล้เคียงที่สามารถใช้เพื่อสร้าง CFrame โดยใช้ Enum.RotationOrder อย่างอนุรักษ์นิยม หากคุณไม่ให้ order คุณจะใช้วิธี 1> Container.RotationOrder.XYZ1> หากคุณไม่

พารามิเตอร์

ค่าเริ่มต้น: Enum.RotationOrder.XYZ

ส่งค่ากลับ

ToEulerAnglesXYZ

กลับมุมที่ใกล้เคียงที่สามารถใช้เพื่อสร้าง CFrame โดยใช้ Enum.RotationOrder.XYZ

ส่งค่ากลับ

ToEulerAnglesYXZ

กลับมุมที่ใกล้เคียงที่สามารถใช้เพื่อสร้าง CFrame โดยใช้ Enum.RotationOrder.YXZ

ส่งค่ากลับ

ToOrientation

เทียบเท่ากับ CFrame:ToEulerAnglesYXZ() .

ส่งค่ากลับ

ToAxisAngle

กลับรายการของ Datatype.Vector3 และตัวเลขที่แทนที่การหมุนของ CFrame ในการแสดงผลแนวโน้ม

ส่งค่ากลับ

components

เทียบเท่ากับ CFrame:GetComponents() .

ส่งค่ากลับ

FuzzyEq

กลับ true หาก 'Datatype.CFrame' อื่นๆ อยู่ใกล้เคียงกับ 'Datatype.CFrame' นี้ในตำแหน่งทั้งหมดและการหมุน มูลค่า eps จะใช้เพื่อควบคุมความอดทนสำหร

พารามิเตอร์

other: CFrame
epsilon: number
ค่าเริ่มต้น: 0.00001 (1e-5)

ส่งค่ากลับ

การดำเนินการทางคณิตศาสตร์