Vector3

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

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

ประเภทข้อมูล Vector3 แทนที่เวกเตอร์ในพื้นที่ 3D โดยปกติใช้เป็นจุดในพื้นที่ 3D หรือขนาดของปริซึมสี่เหลี่ยม สนับสนุนการดำเนินการคณิตศาสตร์ขั้นพื้นฐานที่ใช้ส่วนประกอบ (บวก ลบ คูณ และหาร) และการดำเนินการเหล่านี้สามารถใช้บนด้านซ้ายหรือด้านขวาเพื่อเพิ่มหรือลบจํานวนหนึ่งนอกจากนี้ยังมีวิธีการสำหรับการดำเนินการเวกเตอร์ทั่วไป เช่น Cross() และ Dot()

อีกทางหนึ่งเพื่อ Vector3 พิจารณาใช้วิธีการและคุณสมบัติของห้องสมุด vector

การใช้งานบางตัวอย่างของ Vector3 คือ Position , Rotation และ Size ของชิ้นส่วนตัวอย่างเช่น:


local Workspace = game:GetService("Workspace")
local part = Workspace.Part
part.Position = part.Position + Vector3.new(5, 2, 10) -- Move part by (5, 2, 10)

Vector3 ยังใช้กันอย่างแพร่หลายเมื่อสร้างประเภทข้อมูล 3D ที่ซับซ้อนมากขึ้นเช่น CFrameวิธีของหลายประเภทข้อมูลเหล่านี้จะใช้ Vector3 ภายในพารามิเตอร์ของพวกเขา เช่น CFrame:PointToObjectSpace()

สรุป

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

คุณสมบัติ

วิธีการ

  • คืนเวกเตอร์ใหม่จากค่าสัมบูรณ์ของส่วนประกอบของต้นฉบับ

  • คืนเวกเตอร์ใหม่จากเพดานของส่วนประกอบดั้งเดิม

  • คืนเวกเตอร์ใหม่จากชั้นของส่วนประกอบดั้งเดิม

  • คืนเวกเตอร์ใหม่จากเครื่องหมาย (-1, 0 หรือ 1) ของส่วนประกอบดั้งเดิม

  • คืนผลผลิตข้ามของสองเวกเตอร์

  • Angle(other : Vector3,axis : Vector3):number

    คืนมุมในรัศมีระหว่างสองเวกเตอร์ หากคุณให้แกน มันจะกำหนดเครื่องหมายของมุม

  • Dot(other : Vector3):number

    คืนผลิตภัณฑ์จุดเชิงเส้นของสองเวกเตอร์

  • FuzzyEq(other : Vector3,epsilon : number):boolean

    ส่งคืน true หากความแตกต่างระหว่างความเข้มของสองเวกเตอร์ที่ส่วนตัวอยู่ภายใน epsilon``epsilon มีการปรับขนาดเป็นเปอร์เซนต์เมื่อเทียบกับขนาด แทนที่จะเป็นเอปิลอนสัมบูรณ์

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

    ส่งคืนเส้นตรงระหว่างนี้ Vector3 และเป้าหมายที่กำหนดโดยอัลฟาที่กำหนดโดยตรง Vector3

  • Max(vector : Vector3):Vector3

    ส่งคืน Vector3 กับแต่ละส่วนประกอบเป็นส่วนประกอบสูงสุดในแต่ละส่วนประกอบของวัตถุที่ให้ไว้ทั้งหมด Vector3

  • Min(vector : Vector3):Vector3

    ส่งคืน Vector3 ด้วยแต่ละส่วนประกอบเป็นส่วนประกอบที่ต่ำที่สุดในแต่ละส่วนประกอบของวัตถุที่ให้ไว้ทั้งหมด Vector3

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

  • ผลิต Vector3 โดยเพิ่มแต่ละส่วนของเวกเตอร์แรกไปยังส่วนที่เหมาะสมของเวกเตอร์ที่สอง

  • ผลิต Vector3 โดยการหักแต่ละส่วนประกอบของเวกเตอร์ที่สองออกจากส่วนประกอบที่ตรงกันของเวกเตอร์แรก

  • ผลิต Vector3 โดยคูณแต่ละส่วนประกอบของเวกเตอร์แรกโดยส่วนประกอบที่ตรงกันของที่สอง

  • ผลิต Vector3 โดยแบ่งแต่ละส่วนประกอบของเวกเตอร์แรกโดยส่วนประกอบที่ตรงกันของที่สอง

  • ผลิต Vector3 โดย แยกชั้น แต่ละส่วนของเวกเตอร์แรกโดยส่วนประกอบที่ตรงกันของที่สอง

  • ผลิต Vector3 โดยคูณแต่ละส่วนประกอบของเวกเตอร์ที่ให้มาด้วยจํานวน

  • ผลิต Vector3 โดยแบ่งแต่ละส่วนประกอบของเวกเตอร์ที่ให้มาโดยจำนวน

  • ผลิต Vector3 โดย แยกชั้น แต่ละส่วนของเวกเตอร์ที่ให้มาโดยจํานวน

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

new

คืนค่าใหม่ Vector3 โดยใช้ส่วน x, y, และ z ที่กำหนด

พารามิเตอร์

ค่าเริ่มต้น: 0
ค่าเริ่มต้น: 0
ค่าเริ่มต้น: 0

FromNormalId

ส่งคืนใหม่ Vector3 ในทิศทางที่กำหนด

พารามิเตอร์

FromAxis

คืนค่าใหม่ Vector3 สำหรับแกนที่กำหนด

พารามิเตอร์

axis: Enum.Axis

คุณสมบัติ

A Vector3 ที่มีขนาดเป็นศูนย์

สมาชิก API นี้เป็นคงที่ และต้องเข้าถึงผ่าน ทั่วโลกแทนที่จะเป็นวัตถุเดี่ยว


print(Vector3.zero) --> 0, 0, 0

A Vector3 ที่มีค่า 1 ในทุกแกน

สมาชิก API นี้เป็นคงที่ และต้องเข้าถึงผ่าน ทั่วโลกแทนที่จะเป็นวัตถุเดี่ยว


print(Vector3.one) --> 1, 1, 1

xAxis

A Vector3 ที่มีค่า 1 บนแกน X

สมาชิก API นี้เป็นคงที่ และต้องเข้าถึงผ่าน ทั่วโลกแทนที่จะเป็นวัตถุเดี่ยว


print(Vector3.xAxis) --> 1, 0, 0

yAxis

A Vector3 ที่มีค่า 1 บนแกน Y

สมาชิก API นี้เป็นคงที่ และต้องเข้าถึงผ่าน ทั่วโลกแทนที่จะเป็นวัตถุเดี่ยว


print(Vector3.yAxis) --> 0, 1, 0

zAxis

A Vector3 ที่มีค่า 1 บนแกน Z

สมาชิก API นี้เป็นคงที่ และต้องเข้าถึงผ่าน ทั่วโลกแทนที่จะเป็นวัตถุเดี่ยว


print(Vector3.zAxis) --> 0, 0, 1

พิกัด x ของ Vector3

พิกัด y ของ Vector3

พิกัด z ของ Vector3

Magnitude

ความยาวของ Vector3

สำเนาปกติของ Vector3 - สำเนาที่มีทิศทางเดียวกับต้นฉบับ แต่มีขนาด 1

วิธีการ

คืนเวกเตอร์ใหม่จากค่าสัมบูรณ์ของส่วนประกอบของต้นฉบับ ตัวอย่างเช่น เวกเตอร์ของ (-2, 4, -6) คืนเวกเตอร์ของ (2, 4, 6)

ส่งค่ากลับ

คืนเวกเตอร์ใหม่จากเพดานของส่วนประกอบดั้งเดิม ตัวอย่างเช่น เวกเตอร์ของ (-2.6, 5.1, 8.8) คืนเวกเตอร์ของ (-2, 6, 9)

ส่งค่ากลับ

Floor

คืนเวกเตอร์ใหม่จากชั้นของส่วนประกอบดั้งเดิม ตัวอย่างเช่น เวกเตอร์ของ (-2.6, 5.1, 8.8) คืนเวกเตอร์ของ (-3, 5, 8)

ส่งค่ากลับ

คืนเวกเตอร์ใหม่จากลายเซ็น (-1, 0 หรือ 1) ของส่วนประกอบดั้งเดิม ตัวอย่างเช่นเวกเตอร์ของ (-2.6, 5.1, 0) จะคืนเวกเตอร์ของ (-1, 1, 0)

ส่งค่ากลับ

Cross

คืนผลผลิตข้ามของสองเวกเตอร์

พารามิเตอร์

other: Vector3

ส่งค่ากลับ

Angle

คืนมุมในรัศมีระหว่างสองเวกเตอร์ หากคุณให้แกน มันจะกำหนดเครื่องหมายของมุม

พารามิเตอร์

other: Vector3
axis: Vector3
ค่าเริ่มต้น: nil

ส่งค่ากลับ

คืนผลิตภัณฑ์จุดเชิงเส้นของสองเวกเตอร์

พารามิเตอร์

other: Vector3

ส่งค่ากลับ

FuzzyEq

ส่งคืน true หากความแตกต่างระหว่างความเข้มของสองเวกเตอร์ที่ส่วนตัวอยู่ภายใน epsilon``epsilon มีการปรับขนาดเป็นเปอร์เซนต์เมื่อเทียบกับขนาด แทนที่จะเป็นเอปิลอนสัมบูรณ์

พารามิเตอร์

other: Vector3
epsilon: number
ค่าเริ่มต้น: 0.00001 aka 1e-5

ส่งค่ากลับ

ส่งคืนเส้น เชิงเส้นระหว่างเส้นนี้ และเส้นที่กำหนด โดยอัตราส่วน โดยตรง

หมายเหตุ: ค่า alpha มีค่า ไม่ จํากัดเฉพาะช่วง [0, 1]

พารามิเตอร์

goal: Vector3
alpha: number

ส่งค่ากลับ

ส่งคืน Vector3 กับแต่ละส่วนประกอบเป็นส่วนประกอบสูงสุดในแต่ละส่วนประกอบของวัตถุที่ให้ไว้ทั้งหมด Vector3


local a = Vector3.new(1, 2, 1)
local b = Vector3.new(2, 1, 2)
print(a:Max(b)) --> Vector3.new(2, 2, 2)

พารามิเตอร์

vector: Vector3

ส่งค่ากลับ

ส่งคืน Vector3 ด้วยแต่ละส่วนประกอบเป็นส่วนประกอบที่ต่ำที่สุดในแต่ละส่วนประกอบของวัตถุที่ให้ไว้ทั้งหมด Vector3


local a = Vector3.new(1, 2, 1)
local b = Vector3.new(2, 1, 2)
print(a:Min(b)) --> Vector3.new(1, 1, 1)

พารามิเตอร์

vector: Vector3

ส่งค่ากลับ

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


ผลิต Vector3 โดยเพิ่มแต่ละส่วนของเวกเตอร์แรกไปยังส่วนที่เหมาะสมของเวกเตอร์ที่สอง


ผลิต Vector3 โดยการหักแต่ละส่วนประกอบของเวกเตอร์ที่สองออกจากส่วนประกอบที่ตรงกันของเวกเตอร์แรก


ผลิต Vector3 โดยคูณแต่ละส่วนประกอบของเวกเตอร์แรกโดยส่วนประกอบที่ตรงกันของที่สอง


ผลิต Vector3 โดยแบ่งแต่ละส่วนประกอบของเวกเตอร์แรกโดยส่วนประกอบที่ตรงกันของที่สอง


ผลิต Vector3 โดย แยกชั้น แต่ละส่วนของเวกเตอร์แรกโดยส่วนประกอบที่ตรงกันของที่สอง


ผลิต Vector3 โดยคูณแต่ละส่วนประกอบของเวกเตอร์ที่ให้มาด้วยจํานวน


ผลิต Vector3 โดยแบ่งแต่ละส่วนประกอบของเวกเตอร์ที่ให้มาโดยจำนวน


ผลิต Vector3 โดย แยกชั้น แต่ละส่วนของเวกเตอร์ที่ให้มาโดยจํานวน