การสร้างวัตถุเคลื่อนที่

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

วัตถุที่เคลื่อนที่ได้ เป็นวัตถุที่เคลื่อนที่บนหนึ่งหรือมากกว่าแกนในพื้นที่ 3D โดยใช้พลังในตัวของเครื่องจําลองของ Roblox คุณสามารถทําให้วัตถ

โดยใช้ไฟล์ ย้ายวัตถุเคลื่อนที่ได้.rbxl เป็นตัวอ้างอิง, ไฟล์นี้อธิบายวิธีการที่กำลังผลกระทบลำดับการเคลื่อนไหวใน Studio, และแสดงให้คุณเห็นวิธีการย้ายวัตถุจากจ

  • โดยใช้ LinearVelocity ข้อจํากัดผู้เคลื่อนย้ายทั้งหมดในอาณาเขตความเร็วลิнейนั้น
  • โดยใช้ PrismaticConstraint เพื่อจํากัดการประกอบขนาดเดียวกันให้เป็นหน้าเดียวและย้ายได้ในความเร็วที่เท่ากันเมื่อเป็นค่าสัมพันธ์กับจุดในพื้นที่ 3D
  • โดยใช้วิธีการ ApplyImpulse เพื่อย้ายการประกอบด้วยแรงกระตุกเริ่มต้นเพื่อให้การประกอบชิ้นส่วนเริ่มช้าลงเรื่อย ๆ

การเคลื่อนที่แบบเส้นและการเคลื่อนที่ทางกายภาพ

Roblox Studio เป็นเครื่องมือจำลองโลกแห่งความเป็นจริงที่เหมือนจริงซึ่งจะจำลองพฤติกรรมทางกายภาพในเวลาจริงดังนั้นจึงเป็นสิ่งสำคัญที่จะมีความเข้าใจระดับสูงเกี่ยวกับวิธีการที่วัตถุเคลื่อ การเคลื่อนที่เชิงเส้น เป็นการเคลื่อนที่ตามแกน ตัวอย่างเช่นเมื่อบล็อกมีการเคลื่อนที่เชิงเส้นมันจะเคลื่อนที่ตามแกนตั้งต้น

A gray block in front of a dark background. The movement axis is highlighted, and it faces toward the left of the screen to signify that the block is going to move along the world's Y axis.

การเคลื่อนที่แบบเส้นทางไม่สามารถมีอยู่ได้โดยไม่มีการกระตุ้นหรือดึงดูดวัตถุจากภายนอก ตามกฎของเคลื่อนที่ที่สมบูรณ์แบบของนิวตัน การเคลื่อนที่ของวัตถ

การกระทํา คือตัวชี้วัดของทิศทางและขนาดของการผลักหรือดึงทางกายภาพที่ทําให้วัตถุเปลี่ยนแปลงความเร็วเป็นเส้นทางตามแกน การเปลี่ยนแปลงความเร็วเรียกว

นี่เป็นเพราะความต้องการของแรงต้องมีมากกว่าความต้องการทางกายภาพที่กดกลับต่อวัตถุ เช่น แรงโน้มถ่วงหรือแรงต้านทาน หากคุณวางบล็อกบนแผ่นโล

A gray block in front of a dark grey metal plate with a diagram that signifies the block will have a plate friction to slow the block's movement from the wind.

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

A gray block in front of the default baseplate's 4x4 grid texture. A single stud cube rectangle is highlighted.

การเข้าใจความเร็วเส้นทางเป็นสิ่งสำคัญสำหรับการออกแบบเกมในประสบการณ์ของคุณเพราะมันช่วยให้คุณตรวจสอบว่าคุณต้องการแรงเท่าไหร่เพื่อให้บรรลุความเร็วที่เฉพาะเจาะจงสำ

ส่วนต่อไปจะดำเนินการลึกเข้าไปในแนวคิดเหล่านี้เมื่อคุณเรียนรู้วิธีการย้ายวัตถุที่มีความเร็วเส้นทางเส้นที่เท่ากันหรือคงที่ด้วยความต้องการที่จำเป็นเพื่อเอาชนะความเคล

การเลี้ยงสถานะคงที่ความเร็วเส้นทางเส้น

สำหรับวัตถุเพื่อให้สามารถเข้าถึงและรักษาความเร็วเส้นทางเส้นของวัตถุที่เท่ากัน สภาพแวดล้อม

จำนวนเงินแรงที่ต้องการไม่เพียง แต่ขึ้นอยู่กับแรงดันทางกายภาพที่อยู่ภายในสภาพแวดล้อมเอง เช่น แรงโน้มถ่วงและแรงต้านทาน แต่ยังรวมถึงวัตถุเอง เช่น หากคุณมีวัตถุสอง

ส่วนทรงกระบอกเล็กมีปริมาณมวลเล็กน้อยดังนั้นจึงต้องใช้แรงน้อยลงในการเพิ่มความเร่งเดียวกัน
ส่วนโค้งใหญ่มีพลังมากมายในปริมาณขนาดใหญ่ดังนั้นจึงต้องใช้แรงมากขึ้นเพื่อให้ความเร่งเดียวกัน

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

การใช้ความเร็วสายเก่า

LinearVelocity วัตถุเป็นประเภท ข้อจํากัดการเคลื่อนที่ ที่ใช้การบังคับการเคลื่อนที่ทั้งหมดเพื่อให้ความเร็วเส้นทางที่คงที่ โดยไ

เมื่อเม็ดลิลลี่สัมผัสกันเมื่อกันพวกเขาเปลี่ยนทิศทาง แต่พวกเขาก็ยังไหลลงแม่น้ำด้วยความเร็วที่คงที่ในแนวนอน

เพื่อเริ่มย้ายการจัดการ LinearVelocity ข้อจํากัดต้องรู้:

  • จุดและทิศทางบวกหรือลบเพื่อใช้แรง
  • จำนวน stud ที่คุณต้องการให้การประกอบการเคลื่อนทุกวินาที
  • จำนวนเงินสูงสุดที่เครื่องยนต์สามารถใช้สำหรับการประกอบการของเราเพื่อให้ความเร็วเส้นทางเส้นเส้น

เพื่อแสดงให้เห็นกระบวนการนี้คุณจะกำหนดแผ่นลิลลี่ด้วยการแนบมีตัวชี้รุ่น LinearVelocity ที่ระบุความเคลื่อนที่ของกระบวนการลิลลี่ 15 ตัวอย่างต่อวินาทีในแกนเส้นท

A close up view of a lily pad. The lily pad's constraint visual aid is visible, and it points to the right, which is the world's negative X axis.

เพิ่มอุปกรณ์เสริม

คุณสามารถระบุจุดที่จะใช้ความเคร่งเครียดโดยการเพิ่มวัตถุ Attachment ให้กับการประกอบ จากนั้นกำหนดตำแหน่งของการแนบมัดในพื้นที่ 3D ตัวอย่าง วัตถุเ

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

A attachment's visual aid arrows. The yellow arrow that signfies the attachment's primary axis points up, and the orange arrow that signfies the attachment's secondary axis points to the right.

เพื่อเพิ่มสิ่งที่แนบมา:

  1. ใน หน้าต่าง Explorer ขยาย ไดรเวลโอเรียลตัวอย่าง โฟลเดอร์, แล้วขยายลูกโดยใช้ LilyPad_DIY โมเดล

  2. ใส่สิ่งที่แนบมาใน แผงผัง เมช

    1. เลื่อนเมาส์ไปที่เมชและคลิกปุ่ม ⊕ เมื่อเปิดหน้าต่างบริบทัศน์
    2. จากเมนู ใส่ อุปกรณ์เสริม อุปกรณ์เสริมจะปรากฏในศูนย์กลางของชิ้นส่วน
    3. เปลี่ยนชื่ออุปกรณ์เป็น ย้ายอุปกรณ์
    A close up view of a lily pad and its attachment visual aid. The primary axis points away from the camera, and the secondary axis points upward.

กำหนดค่าข้อจํากัด

ตอนนี้เมชของคุณมีจุดที่แน่นที่จะย้ายแผ่นลิลลี่, คุณสามารถกำหนดคุณสมบัติของ LinearVelocity ข้อจํากัดเพื่อระบุทิศทางและขนาดสําหรับความเร็วลินเทิกท

ประสบการณ์ตัวอย่าง วัตถุเคลื่อนที่ได้ ใช้ได้ถึง 5000 Roblox15 สตาด์ต่อวินาทีตามแ

เพื่อกำหนดค่า LinearVelocity ข้อจํากัด:

  1. (อpcional) ให้ใบเขียวมองเห็นได้ในพื้นที่ 3D เพื่อให้คุณสามารถอ้างถึงทิศทางเส้นของมันได้

    1. ในแถบเมนู ไปที่ แบบฟอร์ม แท็บ, แล้วส่วน ข้อจํากัด 2. หากยังไม่เปิดใช้งาน คลิก รายละเอียดข้อจํากัด เพื่อแสดงช่วยเหลือการแสดงผลของข้อจํากัด
    A close up view of the Studio's Constraints section UI.
  2. ใส่ข้อจํากัด LinearVelocity ใน แผง เมช

    1. ใน หน้าต่าง Explorer เลื่อนเมาส์ไปที่เมช แล้วคลิกไอคอน ⊕ หน้าต่าง จะปรากฏขึ้นเมนู Kontext เชิญ
    2. จากเมนู上下컨텍สต์ใส่ ความเร็วเส้นทางเชิงเส้น
  3. กำหนดการแนบมาของ网格ให้กับข้อจํากัดใหม่

    1. ใน หน้าต่าง Explorer เลือกข้อจํากัด
    2. ใน หน้าต่าง Proprieties 1. ตั้ง อุปกรณ์เสริม0 เป็น ย้ายอุปกรณ์เสริม 2. ตั้ง แรงผลักสูงสุด เป็น 5000 เพื่อใช้แรงผลักคงที่ 5000 ไปยังเป้าหมายเพื่อให้ความเร็วเส้นทางเส้นที่ต้องการ 3. เก็บ ค่าเฉลี่ยของโลก ไว้ให้ ลิลลี่แพด เคลื่อนที่เมื่อเป็นค่าเฉลี่ยของโลก 4. ตั้ง VelocityConstraint เป็น เส้น เพื่อจํากัดแรงตามแนวเส้นจากการแนบมัด 5. ตั้ง LineDirection เป็น -1, 0, 0 เพื่อย้ายแผ่นลิลลี่ไปตามแกน X เชิงลบของโลก หมายเหตุว่าหากคุณตั้งค่าสมบัติแพ็ดนี้เป็น 1, 0, 0 แผ่นลิลลี่จะ 6. ตั้ง ความเร็วเส้น เป็น 15 เพื่อย้ายแผ่นลิลลี่ 15 สตัดต่อวินาที
    A close up view of a lily pad and its constraint visual aid arrow that points to the right, or the world's negative X axis.
  4. ตรวจสอบว่าจำนวนแรงที่คุณตั้งเคลื่อนเมช 15 มม. ต่อวินาทีทางแนวหน้าของโลก

    1. ในแถบเมนู ไปที่ ทดสอบ แท็บ

    2. ในส่วน การจำลอง คลิก เลือกโหมด เมนูดรอปดาวน์

      Rapid playtest options in Test tab of Studio
    3. เลือก วิ่ง . Studio จะจำลองประสบการณ์ที่ตำแหน่งกล้องปัจจุบันโดยไม่มีอวาตาร์ของคุณในพื้นที่ 3D

ใช้ข้อจํากัด PrismaticConstraint

PrismaticConstraint วัตถุเป็นประเภทของ ข้อจํากัดทางกล ที่สร้างข้อต่อที่แข็งแกร่งระหว่างสองส่วนอุปกรณ์ ทำให้การประกอบของแต่ละส่วนอุปกรณ

ประเภทการเคลื่อนที่นี้นำไปสู่สถานการณ์การเล่นที่เสถียรซึ่งเป็นเรื่องง่ายสำหรับผู้เล่นที่จะคาดเดา โดยเฉพาะอย่างยิ่งตัวอย่าง วัตถุเคลื่อนที่ ประสบใช้ Class.Prismatic

เมื่อคุณตั้ง PrismaticConstraint.ActuatorType ไว้ที่ มอเตอร์ ความจํากัดนี้ใช้ความจํากัดที่เป็นเหตุให้อุปกรณ์สองอันที่เป็นพ่อของอุปกรณ์เข้าถ

เพื่อเริ่มย้ายการจัดการกับ PrismaticConstraint ข้อจํากัดต้องรู้:

  • จุดและทิศทางบวกหรือลบเพื่อใช้แรง
  • จำนวน stud ที่คุณต้องการให้อุปกรณ์เคลื่อนที่ต่อวินาที
  • จำนวนเงินสูงสุดที่เครื่องยนต์สามารถใช้สำหรับอุปกรณ์และการประกอบของพวกเขาเพื่อให้ความเร็วเส้นทางเส้นเส้น

เพื่อแสดงให้เห็นกระบวนการนี้คุณจะกำหนดการติดตั้งบันทึกสองอันที่มีลูกสมุนที่เป็นลูกสมุนของ PrismaticConstraint อ้างอิงถึงการย้ายล็อก 40 สตัดต่อวินาทีในแนวโน้มทางลบของโลกด้วยควา

A close up view of a brown log on top of a river. The log's constraint visual aid is visible and points to the right, or the world's negative X axis.

กำหนดการติดตั้งอุปกรณ์เสริม

คุณสามารถระบุทิศทางในการเคลื่อนย้ายวัตถุบางอย่างภายในการประกอบโดยเพิ่มสองวัตถุ Attachment ลงในการประกอบ, จากนั้นกำหนดตำ

เมื่อคุณกำหนดค่าข้อจํากัด PrismaticConstraint ในส่วนต่อไป มันจะย้ายบันทึก ในความสัมพันธ์ ไปยังส่วนปูมของอันเกือบจะเคลื่อนที่ไม่สามารถเคลื่อนที่ได้เนื่องจากติดอยู่ในพื้นที่ 3D

เพื่อกำหนดค่าติดตั้งสำหรับข้อจํากัด prismatic:

  1. ใน หน้าต่าง Explorer ขยาย PrismaticConstraintExample ได้ แล้วขยายลูกไปยัง Log_DIY โมเดล

  2. ใส่สิ่งที่แนบมาใน เมช ล็อก

    1. เลื่อนเมาส์ไปที่เมชและคลิกปุ่ม ⊕ เมื่อเปิดหน้าต่างบริบทัศน์
    2. จากเมนู ใส่ อุปกรณ์เสริม อุปกรณ์เสริมจะปรากฏในศูนย์กลางของชิ้นส่วน
    3. เปลี่ยนชื่อสิ่งที่แนบมาเป็น การแนบมาของบันทึก
    A close up view of a log and its attachment visual aid. The primary axis points toward the camera, and the secondary axis points upward.
  3. โดยใช้ขั้นตอนเดียวกันให้เอกสารอื่นในส่วน ติดตั้ง แล้วเปลี่ยนชื่อเอกสาร ติดตั้งเอกสาร

    A close up view of a log and two attachment visual aids. The primary axis of the new attachment visual aid points to the right, and the secondary axis points upward.
  4. โดยใช้เครื่องมือ ดูตัวเลือก เป็นหนึ่งในการอ้างอิงสำหรับเหลี่ยมเเห่งโลก, หมุน LogAttachment และ AnchorAttachment จนกว่าแต่ละอเนกมุมของแต่ละอเนกมุมจะหน้าสู่โลกในแกนเชิญเสียงเชิญ

    A close up view of a log and its attachment visual aid. Both attachments have a primary axis that points to the right, and a secondary axis that points upward.
  5. ปรับใหม่ตำแหน่ง AnchorAttachment เพื่อให้ทั้งสองส่วนประกอบเรียงตั้งอยู่บนแกน X ของโลก

    A close up view of a log and its attachment visual aids that are now positioned horizontally. Both attachments have a primary axis that points to the right, and a secondary axis that points upward.

กำหนดค่าข้อจํากัด

ตอนนี้ที่เครื่องมือของคุณอยู่ในแนวเดียวกันและหน้าทิศทางเดียวกันที่คุณต้องการให้ล็อกเคลื่อนที่ในแนวตรงของแต่ละอุปกรณ์หลักของ

ในขณะที่คุณสามารถเลือกค่าต่างๆ สำหรับกรณีใช้งานของคุณเองได้ ประสบการณ์ตัวอย่าง ย้ายวัตถุเคลื่อนที่ได้ ใช้ได้กับวัตถุที่เคลื่อนที่ได้ 4

เพื่อกำหนดข้อจํากัด prismatic:

  1. ใส่วัตถุ PrismaticConstraint ใน เมช Log

    1. ใน หน้าต่าง Explorer เลื่อนเมาส์ไปที่เมช แล้วคลิกไอคอน ⊕ หน้าต่าง จะปรากฏขึ้นเมนู Kontext เชิญ
    2. จากเมนู上下컨텍สต์ใส่ PrismaticConstraint
  2. กำหนดการแนบของบันทึกให้กับข้อจํากัดใหม่เพื่อให้บันทึกเคลื่อนที่ใน ความสัมพันธ์กับ ส่วนบล็อกที่แนบมา

    1. ใน หน้าต่าง Explorer เลือกข้อจํากัด
    2. ใน หน้าต่าง Proprieties 1. ตั้ง อุปกรณ์เสริม0 เป็น การแนบมัดอุปกรณ์เสริม 2. ติดตั้ง อุปกรณ์เสริม1 ใน การแนบมาของ Log ระเบียบาล. ข้อจํากัดปรากฏขึ้นใน viewport
    A close up view of a log and its constraint visual aid. It doesn't have a arrow visual aid because it doesn't yet have a set velocity.
  3. ใน หน้าต่าง Explorer เลือกข้อจํากัดแล้วในหน้าต่าง Properties

    1. ตั้ง ActuatorType เป็น มอเตอร์ ใหม่ สาขาที่มีข้อมูลส่วนที่เป็นไปได้
    2. ตั้ง MotorMaxForce เป็น 50000 เพื่อใช้ค่ากำลังแรงสูงสุด 50000 โรวันตันเพื่อให้ความเร็วเส้นทางเป้าหมาย
    3. ตั้ง ความเร็ว เป็น 40 เพื่อย้ายล็อก 40 studs ต่อวินาที
    A close up view of a log and its constraint visual aid arrow that points to the right, or the world's negative X axis.
  4. ตรวจสอบว่าจำนวนแรงที่คุณตั้งเคลื่อนย้ายล็อก 40 สตั๊ดต่อวินาทีในแกนเส้น X เชิงบวกของโลก

    1. ในแถบเมนู ไปที่ ทดสอบ แท็บ

    2. ในส่วน การจำลอง คลิก เลือกโหมด เมนูดรอปดาวน์

      Rapid playtest options in Test tab of Studio.
    3. เลือก วิ่ง . Studio จะจำลองประสบการณ์ที่ตำแหน่งกล้องปัจจุบันโดยไม่มีอวาตาร์ของคุณในพื้นที่ 3D

การใช้แรงลอกเลียงเชิงเส้นเริ่มต้น

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

เทคนิคนี้มีประโยชน์สำหรับการย้ายวัตถุหลังจากเหตุการณ์เกมที่สำคัญเช่นการระเบิดหรือการโต้เถียงที่มีผลกระทบต่อผู้เล่นทันทีเพราะมันให้ข้อเสนอแนะแก่ผู้เล่น

การใช้งาน ApplyImpulse

วิธี ApplyImpulse ใช้แรงกดทั่วทั้งการประกอบของการใช้งานเพื่อรับความเร็วเริ่มต้นก่อนที่จะชะลอลงเมื่อมีแรงกดตรงข้าม เพื่อเริ่มการเคลื่อนย้ายการประกอบ วิธีนี้ต้องรู้

  • การประกอบที่จะย้าย
  • แกนที่จะใช้แรงเพื่อให้ความเร็วเชิงเส้นเริ่มต้น
  • จำนวนแรงที่ใช้สำหรับแต่ละแกน

คุณสามารถกำหนดค่าเหล่านี้ในสคริปต์ได้ เช่นสคริปต์ตัวอย่างจะกำหนดการประกอบขึ้นเป็นวัตถุ Humanoid ของผู้เล่น จาก

เพื่อย้ายการประกอบด้วย ApplyImpulse :

  1. ใน หน้าต่าง Explorer ขยาย ApplyImpulseExample ไฟล์โฟลเดอร์, แล้วขยายรุ่นลูกของมัน JumpPad_DIY โมเดล
  2. ใส่สคริปท์ในส่วน JumpPad 1. เลื่อนเมาส์ไปที่ชิ้นส่วนและคลิกปุ่ม ⊕ เมนู上下文 จะปรากฏขึ้น 2. จากเมนู ใส่ สคริปต์ ตรงกลางของชิ้นส่วน 3. เปลี่ยนชื่อสคริปต์เป็น JumpScript 3. แทนที่รหัสเริ่มต้นด้วยรหัสต่อไปนี้:

local volume = script.Parent
local function onTouched(other)
local impulse = Vector3.new(0, 2500, 0)
local character = other.Parent
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid and other.Name == "LeftFoot" then
other:ApplyImpulse(impulse)
end
end
volume.Touched:Connect(onTouched)