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

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

วัตถุที่เคลื่อนไหว คือวัตถุที่เคลื่อนที่ในหนึ่งหรือมากกว่าหนึ่งแกนภายในพื้นที่ 3D โดยใช้พลังที่สร้างขึ้นในตัวของเอนจินการจำลองของ Roblox คุณสามารถทำให้วัตถุเคลื่อนที่และมีปฏิสัมพันธ์กับสภาพแวดล้อมของพวกเขาในลักษณะที่เลียนแบบพฤติกรรมทางกายภาพในโลกจริงที่คุ้นเคยและเข้าใจง่ายสำหรับผู้เล่น เช่น แรงโน้มถ่วง อากาศพลศาสตร์ และแรงเสียดทาน

โดยใช้ไฟล์ Moving Objects .rbxl เป็นข้อมูลอ้างอิง บทช่วยสอนนี้อธิบายว่ากำลังทางกายภาพมีผลกระทบต่อการเคลื่อนที่เชิงเส้นใน Studio อย่างไร และแสดงให้คุณเห็นเทคนิคต่างๆ ในการเคลื่อนที่ของวัตถุจากจุด A ไปยังจุด B ในเกมของคุณด้วยพฤติกรรมการเคลื่อนไหวที่แตกต่างกัน รวมถึงคำแนะนำเกี่ยวกับ:

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

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

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

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

บล็อกสีเทาอยู่หน้าพื้นหลังสีเข้ม แกนการเคลื่อนที่ถูกเน้น และหันไปทางซ้ายของหน้าจอเพื่อบ่งบอกว่าบล็อกจะเคลื่อนที่ตามแกน Y ของโลก.

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

แรง คือการวัดทิศทางและขนาดของการผลักหรือดึงทางกายภาพที่ทำให้วัตถุเปลี่ยนความเร็วเชิงเส้นตามแกน การเปลี่ยนแปลงในความเร็วเรียกว่า การเร่ง แนวคิดนี้มีความสำคัญโดยเฉพาะสำหรับการเคลื่อนที่ของวัตถุใน Studio; ยิ่งคุณใช้แรงมากเท่าไหร่ วัตถุก็จะยิ่งเร่งเร็วขึ้นเท่านั้น

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

บล็อกสีเทาอยู่หน้าพื้นหลังสีเทาเข้มของแผ่นโลหะพร้อมกับแผนภาพที่บ่งบอกว่าบล็อกจะมีแรงเสียดทานจากแผ่นโลหะเพื่อชะลอการเคลื่อนที่ของบล็อกจากลม.

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

บล็อกสีเทาอยู่หน้าพื้นฐานของพื้นฐานที่มีลวดลายตาราง 4x4 ของพื้นฐาน ค่า 1 สตัดถูกเน้น.

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

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

รักษาความเร็วเชิงเส้นคงที่

เพื่อให้วัตถุสามารถเข้าถึงและรักษาความเร็วเชิงเส้นคงที่ได้ มันต้องการแรงเพื่อเอาชนะแรงทางกายภาพที่เป็นอุปสรรคซึ่งทำให้ความเร็วเชิงเส้นของวัตถุชะลอตัวลง หรือทำให้วัตถุอยู่นิ่ง ตัวอย่างเช่น หากคุณต้องการให้วัตถุมีความเร็วเชิงเส้นที่ [0, 12, 0] ใน Studio คุณต้องใช้แรงเพียงพอเพื่อให้วัตถุเข้าถึงและรักษา 12 สตัดต่อวินาทีตามแกน Y ในสภาพแวดล้อมของมัน

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

สามเหลี่ยมเล็กมีมวลน้อย ดังนั้นมันต้องการแรงน้อยกว่าเพื่อให้ได้การเร่งเดียวกัน.
สามเหลี่ยมใหญ่มีมวลมาก ดังนั้นมันต้องการแรงมากขึ้นเพื่อให้ได้การเร่งเดียวกัน.

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

ใช้ข้อจำกัด LinearVelocity

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

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

เพื่อเริ่มเคลื่อนที่การประกอบ ข้อจำกัด LinearVelocity ต้องการข้อมูลดังนี้:

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

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

มุมมองใกล้ของดอกบัว ข้อจำกัดของดอกบัวมีการแสดงภาพที่มองเห็นได้ และชี้ไปทางขวาซึ่งเป็นแกน X เชิงลบของโลก.

เพิ่มการแนบ

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

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

ลูกศรแสดงภาพของการแนบ ลูกศรสีเหลืองที่แสดงถึงแกนหลักของการแนบชี้ขึ้น และลูกศรสีส้มที่แสดงถึงแกนรองของการแนบชี้ไปทางขวา.

เพื่อเพิ่มการแนบ:

  1. ในหน้าต่าง Explorer ขยายโฟลเดอร์ LinearVelocityExample จากนั้นขยายโมเดลลูกโซ่ LilyPad_DIY ของมัน

  2. แทรกการแนบลงในเมช Pad.

    1. วางเมาส์เหนือเมชและคลิกปุ่ม ⊕ เมนูบริบทจะแสดงขึ้น
    2. จากเมนู แทรก Attachment การแนบจะแสดงอยู่ที่กลางชิ้นส่วน
    3. เปลี่ยนชื่อการแนบเป็น MoveAttachment.
    มุมมองใกล้ของดอกบัวและการแสดงภาพการแนบของมัน แกนหลักชี้ออกจากกล้อง และแกนรองชี้ขึ้น.

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

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

เกมตัวอย่าง Moving Objects ใช้แรงคงที่สูงสุดถึง 5000 Rowtons เพื่อเคลื่อนที่ของดอกบัว 15 สตัดต่อวินาทีตามแกน X เชิงลบของโลกที่ความเร็วเชิงเส้นคงที่ Rowtons เป็นหน่วยทางกายภาพหลักของ Roblox สำหรับการวัดแรง สำหรับการอ้างอิงหน่วยทางกายภาพของ Roblox และวิธีการแปลงเป็นหน่วยเมตริก โปรดดูที่ Roblox Units.

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

  1. เพื่อทำให้ข้อจำกัดมองเห็นได้ในมุมมองเพื่อให้คุณสามารถอ้างอิงทิศทางเชิงเส้นของมันได้ เปิดใช้งาน Show Constraint Details จากเมนู View ของ Studio

  2. แทรกข้อจำกัด LinearVelocity ลงในเมช Pad.

    1. ในหน้าต่าง Explorer วางเมาส์เหนือเมช จากนั้นคลิกที่ไอคอน ⊕ เมนูบริบทจะแสดงขึ้น
    2. จากเมนูบริบท แทรก LinearVelocity.
  3. กำหนดการแนบของเมชไปยังข้อจำกัดใหม่

    1. ในหน้าต่าง Explorer เลือกข้อจำกัด
    2. ในหน้าต่าง Properties,
      1. ตั้งค่า Attachment0 เป็น MoveAttachment.
      2. ตั้งค่า MaxForce เป็น 5000 เพื่อใช้แรงคงที่สูงสุดถึง 5000 Rowtons เพื่อให้บรรลุความเร็วเชิงเส้นที่ต้องการ
      3. รักษา RelativeTo เป็น World เพื่อเคลื่อนที่ของดอกบัวสัมพันธ์กับตำแหน่งและการจัดแนวของโลก
      4. ตั้งค่า VelocityConstraint เป็น Line เพื่อจำกัดแรงตามเส้นจากการแนบ
      5. ตั้งค่า LineDirection เป็น -1, 0, 0 เพื่อเคลื่อนที่ของดอกบัวตามแกน X เชิงลบของโลก หมายเหตุว่าหากคุณตั้งค่านี้เป็น 1, 0, 0 ดอกบัวจะเคลื่อนที่ตามแกน X เชิงบวกของโลก
      6. ตั้งค่า LineVelocity เป็น 15 เพื่อเคลื่อนที่ของดอกบัว 15 สตัดต่อวินาที
    มุมมองใกล้ของดอกบัวและลูกศรแสดงภาพข้อจำกัดของมันที่ชี้ไปทางขวา หรือแกน X เชิงลบของโลก.
  4. ตรวจสอบจำนวนแรงที่คุณตั้งค่าเพื่อให้เมชเคลื่อนที่ 15 สตัดต่อวินาทีตามแกน X เชิงลบของโลก

    • เลือกโหมดการจำลอง Run จากเมนูดรอปดาวน์ของ mezzanine และคลิกปุ่ม Play เพื่อเริ่มต้น Studio จะจำลองเกมที่ตำแหน่งกล้องปัจจุบันโดยไม่มีอวาตาร์ของคุณในพื้นที่ 3D

      ตัวเลือก Run ในเมนูดรอปดาวน์ของโหมดการทดสอบของ mezzanine ของ Studio.

ใช้ข้อจำกัด PrismaticConstraint

วัตถุ PrismaticConstraint เป็นประเภทของ ข้อจำกัดทางกล ที่สร้างข้อต่อที่แข็งระหว่างการแนบสองตัว ทำให้การประกอบของพวกเขาสามารถเคลื่อนที่ตามแกนเดียว สัมพันธ์กับกันและกัน โดยการล็อกตำแหน่งของการประกอบทั้งสองให้เป็นแกนเดียว การประกอบแต่ละตัวจะสามารถหมุนได้เฉพาะเมื่อพวกเขาหมุนไปในทิศทางเดียวกัน

การเคลื่อนที่ประเภทนี้นำไปสู่สถานการณ์การเล่นเกมที่เสถียรซึ่งง่ายกว่าสำหรับผู้เล่นในการคาดการณ์ ตัวอย่างเช่น เกมตัวอย่าง Moving Objects ใช้วัตถุ PrismaticConstraint เพื่อเคลื่อนที่ของแพลตฟอร์มไม้ที่ผู้เล่นสามารถใช้เพื่อข้ามแม่น้ำขนาดใหญ่ได้อย่างระมัดระวัง

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

เพื่อเริ่มเคลื่อนที่การประกอบ ข้อจำกัด PrismaticConstraint ต้องการข้อมูลดังนี้:

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

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

มุมมองใกล้ของท่อนไม้บนแม่น้ำ การแสดงภาพข้อจำกัดของท่อนไม้มีอยู่และชี้ไปทางขวา หรือแกน X เชิงลบของโลก.

กำหนดค่าการแนบ

คุณสามารถระบุทิศทางในการเคลื่อนที่ของวัตถุเฉพาะภายในการประกอบโดยการเพิ่มวัตถุ Attachment สองตัวลงในการประกอบ จากนั้นกำหนดการจัดแนวและการจัดตำแหน่งในพื้นที่ 3D เกมตัวอย่าง Moving Objects จัดแนวการแนบสองตัวตามแกน X ของโลกใกล้ตำแหน่งที่ท่อนไม้ที่ไม่ได้ยึดทับซ้อนกับชิ้นส่วนที่ยึด และจัดแนวแกนหลักของการแนบแต่ละตัวให้หันไปทางแกน X เชิงลบของโลก

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

เพื่อกำหนดค่าการแนบสำหรับข้อจำกัด Prismatic:

  1. ในหน้าต่าง Explorer ขยายโฟลเดอร์ PrismaticConstraintExample จากนั้นขยายโมเดลลูกโซ่ Log_DIY ของมัน

  2. แทรกการแนบลงในเมช Log.

    1. วางเมาส์เหนือเมชและคลิกปุ่ม ⊕ เมนูบริบทจะแสดงขึ้น
    2. จากเมนู แทรก Attachment การแนบจะแสดงอยู่ที่กลางชิ้นส่วน
    3. เปลี่ยนชื่อการแนบเป็น LogAttachment.
    มุมมองใกล้ของท่อนไม้และการแสดงภาพการแนบของมัน แกนหลักชี้ไปที่กล้อง และแกนรองชี้ขึ้น.
  3. โดยใช้กระบวนการเดียวกัน แทรกการแนบลงในชิ้นส่วน Anchor จากนั้นเปลี่ยนชื่อการแนบเป็น AnchorAttachment.

    มุมมองใกล้ของท่อนไม้และการแสดงภาพการแนบสองตัว แกนหลักของการแสดงภาพการแนบใหม่ชี้ไปทางขวา และแกนรองชี้ขึ้น.
  4. โดยใช้เครื่องมือ View Selector เป็นข้อมูลอ้างอิงสำหรับพิกัดของโลก หมุน LogAttachment และ AnchorAttachment จนกว่าแกนหลักของการแนบแต่ละตัวจะหันไปทางแกน X เชิงลบของโลก

    มุมมองใกล้ของท่อนไม้และการแสดงภาพการแนบของมัน ทั้งสองการแนบมีแกนหลักที่ชี้ไปทางขวา และแกนรองที่ชี้ขึ้น.
  5. ปรับตำแหน่ง AnchorAttachment เพื่อให้การแนบทั้งสองอยู่ในแนวเดียวกันตามแกน X ของโลก

    มุมมองใกล้ของท่อนไม้และการแสดงภาพการแนบที่ตอนนี้อยู่ในแนวนอน การแนบทั้งสองมีแกนหลักที่ชี้ไปทางขวา และแกนรองที่ชี้ขึ้น.

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

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

ในขณะที่คุณสามารถเลือกค่าต่างๆ สำหรับกรณีการใช้งานของคุณเอง เกมตัวอย่าง Moving Objects ใช้แรงคงที่สูงสุดถึง 50000 Rowtons เพื่อเคลื่อนที่ของการแนบ 40 สตัดต่อวินาทีตามแกน X เชิงลบของโลกที่ความเร็วเชิงเส้นคงที่ อย่างไรก็ตาม เนื่องจากการแนบที่ยึดอยู่ในวัตถุที่ถูกยึด การแนบของท่อนไม้เท่านั้นที่สามารถเคลื่อนที่ได้

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

  1. แทรกวัตถุ PrismaticConstraint ลงในเมช Log.

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

    1. ในหน้าต่าง Explorer เลือกข้อจำกัด
    2. ในหน้าต่าง Properties,
      1. ตั้งค่า Attachment0 เป็น AnchorAttachment.
      2. ตั้งค่า Attachment1 เป็น LogAttachment. ข้อจำกัดจะแสดงในมุมมอง
    มุมมองใกล้ของท่อนไม้และการแสดงภาพข้อจำกัดของมัน มันไม่มีการแสดงภาพลูกศรเพราะมันยังไม่ได้ตั้งค่าความเร็ว.
  3. ในหน้าต่าง Explorer เลือกข้อจำกัด จากนั้นในหน้าต่าง Properties:

    1. ตั้งค่า ActuatorType เป็น Motor ฟิลด์คุณสมบัติใหม่จะแสดงขึ้น
    2. ตั้งค่า MotorMaxForce เป็น 50000 เพื่อใช้แรงคงที่สูงสุดถึง 50000 Rowtons เพื่อให้บรรลุความเร็วเชิงเส้นที่ต้องการ
    3. ตั้งค่า Velocity เป็น 40 เพื่อเคลื่อนที่ของท่อนไม้ 40 สตัดต่อวินาที
    มุมมองใกล้ของท่อนไม้และการแสดงภาพข้อจำกัดของมันที่ชี้ไปทางขวา หรือแกน X เชิงลบของโลก.
  4. ตรวจสอบจำนวนแรงที่คุณตั้งค่าเพื่อให้ท่อนไม้เคลื่อนที่ 40 สตัดต่อวินาทีตามแกน X เชิงลบของโลก

    • เลือกโหมดการจำลอง Run จากเมนูดรอปดาวน์ของ mezzanine และคลิกปุ่ม Play เพื่อเริ่มต้น Studio จะจำลองเกมที่ตำแหน่งกล้องปัจจุบันโดยไม่มีอวาตาร์ของคุณในพื้นที่ 3D

      ตัวเลือก Run ในเมนูดรอปดาวน์ของโหมดการทดสอบของ mezzanine ของ Studio.

ใช้แรงเชิงเส้นเริ่มต้น

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

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

ใช้ ApplyImpulse

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

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

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

เพื่อเคลื่อนที่การประกอบโดยใช้ ApplyImpulse:

  1. ในหน้าต่าง Explorer ขยายโฟลเดอร์ ApplyImpulseExample จากนั้นขยายโมเดลลูกโซ่ JumpPad_DIY ของมัน

  2. แทรกสคริปต์ลงในชิ้นส่วน JumpPad.

    1. วางเมาส์เหนือชิ้นส่วนและคลิกปุ่ม ⊕ เมนูบริบทจะแสดงขึ้น
    2. จากเมนู แทรก Script การแนบจะแสดงอยู่ที่กลางชิ้นส่วน
    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)
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ