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

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

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

การเข้าใจความเร็วเชิงเส้นเป็นสิ่งสำคัญสำหรับการออกแบบการเล่นเกม เพราะมันช่วยให้คุณกำหนดได้ว่าคุณต้องใช้แรงเท่าไหร่เพื่อให้ได้ความเร็วที่เฉพาะเจาะจงสำหรับวัตถุที่เคลื่อนที่ของคุณ ตัวอย่างเช่น เมื่อคุณต้องการผลักวัตถุขึ้นไป คุณต้องพิจารณาว่าคุณต้องปรับแรงของคุณอย่างไรเพื่อเอาชนะแรงโน้มถ่วงภายในสภาพแวดล้อมเพื่อให้วัตถุเคลื่อนที่ได้อย่างถูกต้อง
ส่วนถัดไปจะเจาะลึกลงไปในแนวคิดเหล่านี้เมื่อคุณเรียนรู้วิธีการเคลื่อนที่ของวัตถุที่ความเร็วเชิงเส้นคงที่หรือเริ่มต้นด้วยแรงที่จำเป็นเพื่อเอาชนะแรงทางกายภาพที่เป็นอุปสรรคภายในสภาพแวดล้อม เมื่อคุณตรวจสอบแนวคิดทางฟิสิกส์เหล่านี้ด้วยเทคนิคที่จะมาถึง คุณจะสามารถคาดการณ์ได้อย่างแม่นยำมากขึ้นว่าคุณจะปรับค่าคุณสมบัติอย่างไรเพื่อให้ได้พฤติกรรมการเคลื่อนที่เชิงเส้นที่เหมาะสมใน Studio
รักษาความเร็วเชิงเส้นคงที่
เพื่อให้วัตถุสามารถเข้าถึงและรักษาความเร็วเชิงเส้นคงที่ได้ มันต้องการแรงเพื่อเอาชนะแรงทางกายภาพที่เป็นอุปสรรคซึ่งทำให้ความเร็วเชิงเส้นของวัตถุชะลอตัวลง หรือทำให้วัตถุอยู่นิ่ง ตัวอย่างเช่น หากคุณต้องการให้วัตถุมีความเร็วเชิงเส้นที่ [0, 12, 0] ใน Studio คุณต้องใช้แรงเพียงพอเพื่อให้วัตถุเข้าถึงและรักษา 12 สตัดต่อวินาทีตามแกน Y ในสภาพแวดล้อมของมัน
จำนวนแรงที่จำเป็นไม่เพียงแต่ขึ้นอยู่กับแรงทางกายภาพที่เป็นอุปสรรคภายในสภาพแวดล้อมเอง เช่น แรงโน้มถ่วงและแรงเสียดทาน แต่ยังขึ้นอยู่กับตัววัตถุเองด้วย ตัวอย่างเช่น หากคุณมีวัตถุสองชิ้นที่มีรูปร่างเดียวกันที่เคลื่อนที่ในแกนเดียวกัน วัตถุที่มีมวลมากกว่าจะต้องการแรงมากขึ้นเพื่อให้ได้การเร่งเชิงเส้นเดียวกัน
ส่วนย่อยถัดไปใช้การประกอบที่มีรูปร่างและขนาดต่างกันเพื่อสอนคุณวิธีการเคลื่อนที่ของวัตถุทั้งหมดหรือเพียงบางส่วนของวัตถุที่ความเร็วเชิงเส้นคงที่ เมื่อคุณทดลองกับค่าคุณสมบัติต่างๆ คุณจะได้เรียนรู้วิธีการประมาณจำนวนแรงสูงสุดที่คุณต้องการสำหรับการประกอบในเกมของคุณเอง
ใช้ข้อจำกัด LinearVelocity
วัตถุ LinearVelocity เป็นประเภทของ ข้อจำกัดการเคลื่อนที่ ที่ใช้แรงกับการประกอบทั้งหมดเพื่อรักษาความเร็วเชิงเส้นคงที่ โดยไม่ล็อกตำแหน่งของการประกอบในแกนระหว่างการเคลื่อนที่ การประกอบจะสามารถหมุนได้เมื่อมันชนกับวัตถุอื่นในพื้นที่ 3D การเคลื่อนที่ประเภทนี้นำไปสู่สถานการณ์การเล่นเกมที่น่าประหลาดใจซึ่งยากกว่าสำหรับผู้เล่นในการคาดการณ์
เพื่อเริ่มเคลื่อนที่การประกอบ ข้อจำกัด LinearVelocity ต้องการข้อมูลดังนี้:
- จุดและทิศทางบวกหรือลบในการใช้แรง
- จำนวนสตัดที่คุณต้องการให้การประกอบเคลื่อนที่ต่อวินาที
- จำนวนแรงสูงสุดที่เอนจินสามารถใช้เพื่อให้การประกอบเข้าถึงความเร็วเชิงเส้นคงที่
เพื่อแสดงกระบวนการนี้ คุณจะกำหนดค่าดอกบัวด้วยการแนบที่ข้อจำกัด LinearVelocity อ้างอิงเพื่อเคลื่อนที่ของดอกบัว 15 สตัดต่อวินาทีตามแกน X เชิงลบของโลกด้วยความเร็วเชิงเส้นคงที่

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

เพื่อเพิ่มการแนบ:
ในหน้าต่าง Explorer ขยายโฟลเดอร์ LinearVelocityExample จากนั้นขยายโมเดลลูกโซ่ LilyPad_DIY ของมัน
แทรกการแนบลงในเมช Pad.
- วางเมาส์เหนือเมชและคลิกปุ่ม ⊕ เมนูบริบทจะแสดงขึ้น
- จากเมนู แทรก Attachment การแนบจะแสดงอยู่ที่กลางชิ้นส่วน
- เปลี่ยนชื่อการแนบเป็น MoveAttachment.

กำหนดค่าข้อจำกัด
ตอนนี้เมชของคุณมีจุดที่แน่นอนในการเคลื่อนที่ของดอกบัว คุณสามารถกำหนดค่าคุณสมบัติของข้อจำกัด LinearVelocity เพื่อระบุทิศทางและขนาดสำหรับความเร็วเชิงเส้นคงที่ จำนวนสตัดที่คุณต้องการให้เมชเคลื่อนที่ต่อวินาที และจำนวนแรงสูงสุดที่เอนจินสามารถใช้เพื่อให้เมชเข้าถึงความเร็วเชิงเส้นคงที่
เกมตัวอย่าง Moving Objects ใช้แรงคงที่สูงสุดถึง 5000 Rowtons เพื่อเคลื่อนที่ของดอกบัว 15 สตัดต่อวินาทีตามแกน X เชิงลบของโลกที่ความเร็วเชิงเส้นคงที่ Rowtons เป็นหน่วยทางกายภาพหลักของ Roblox สำหรับการวัดแรง สำหรับการอ้างอิงหน่วยทางกายภาพของ Roblox และวิธีการแปลงเป็นหน่วยเมตริก โปรดดูที่ Roblox Units.
เพื่อกำหนดค่าข้อจำกัด LinearVelocity:
เพื่อทำให้ข้อจำกัดมองเห็นได้ในมุมมองเพื่อให้คุณสามารถอ้างอิงทิศทางเชิงเส้นของมันได้ เปิดใช้งาน Show Constraint Details จากเมนู View ของ Studio
แทรกข้อจำกัด LinearVelocity ลงในเมช Pad.
- ในหน้าต่าง Explorer วางเมาส์เหนือเมช จากนั้นคลิกที่ไอคอน ⊕ เมนูบริบทจะแสดงขึ้น
- จากเมนูบริบท แทรก LinearVelocity.
กำหนดการแนบของเมชไปยังข้อจำกัดใหม่
- ในหน้าต่าง Explorer เลือกข้อจำกัด
- ในหน้าต่าง Properties,
- ตั้งค่า Attachment0 เป็น MoveAttachment.
- ตั้งค่า MaxForce เป็น 5000 เพื่อใช้แรงคงที่สูงสุดถึง 5000 Rowtons เพื่อให้บรรลุความเร็วเชิงเส้นที่ต้องการ
- รักษา RelativeTo เป็น World เพื่อเคลื่อนที่ของดอกบัวสัมพันธ์กับตำแหน่งและการจัดแนวของโลก
- ตั้งค่า VelocityConstraint เป็น Line เพื่อจำกัดแรงตามเส้นจากการแนบ
- ตั้งค่า LineDirection เป็น -1, 0, 0 เพื่อเคลื่อนที่ของดอกบัวตามแกน X เชิงลบของโลก หมายเหตุว่าหากคุณตั้งค่านี้เป็น 1, 0, 0 ดอกบัวจะเคลื่อนที่ตามแกน X เชิงบวกของโลก
- ตั้งค่า LineVelocity เป็น 15 เพื่อเคลื่อนที่ของดอกบัว 15 สตัดต่อวินาที

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

ใช้ข้อจำกัด PrismaticConstraint
วัตถุ PrismaticConstraint เป็นประเภทของ ข้อจำกัดทางกล ที่สร้างข้อต่อที่แข็งระหว่างการแนบสองตัว ทำให้การประกอบของพวกเขาสามารถเคลื่อนที่ตามแกนเดียว สัมพันธ์กับกันและกัน โดยการล็อกตำแหน่งของการประกอบทั้งสองให้เป็นแกนเดียว การประกอบแต่ละตัวจะสามารถหมุนได้เฉพาะเมื่อพวกเขาหมุนไปในทิศทางเดียวกัน
การเคลื่อนที่ประเภทนี้นำไปสู่สถานการณ์การเล่นเกมที่เสถียรซึ่งง่ายกว่าสำหรับผู้เล่นในการคาดการณ์ ตัวอย่างเช่น เกมตัวอย่าง Moving Objects ใช้วัตถุ PrismaticConstraint เพื่อเคลื่อนที่ของแพลตฟอร์มไม้ที่ผู้เล่นสามารถใช้เพื่อข้ามแม่น้ำขนาดใหญ่ได้อย่างระมัดระวัง
เมื่อคุณตั้งค่า PrismaticConstraint.ActuatorType เป็น Motor ข้อจำกัดนี้จะใช้แรงกับการแนบทั้งสองโดยมีเป้าหมายเพื่อให้การแนบทั้งสองเข้าถึงและรักษาความเร็วเชิงเส้นคงที่ หากคุณยึดการประกอบของการแนบหนึ่งตัว แรงจะยังคงเคลื่อนที่ของการประกอบที่ไม่ได้ยึดด้วยความเร็วเชิงเส้นคงที่ในขณะที่การประกอบที่ยึดอยู่นิ่ง
เพื่อเริ่มเคลื่อนที่การประกอบ ข้อจำกัด PrismaticConstraint ต้องการข้อมูลดังนี้:
- จุดและทิศทางบวกหรือลบในการใช้แรง
- จำนวนสตัดที่คุณต้องการให้การแนบเคลื่อนที่ต่อวินาที
- จำนวนแรงสูงสุดที่เอนจินสามารถใช้เพื่อให้การแนบและการประกอบของพวกเขาเข้าถึงความเร็วเชิงเส้นคงที่
เพื่อแสดงกระบวนการนี้ คุณจะกำหนดค่าการประกอบของท่อนไม้ที่มีวัตถุสองชิ้นที่มีการแนบลูกของเด็กที่ PrismaticConstraint อ้างอิงเพื่อเคลื่อนที่ของท่อนไม้ 40 สตัดต่อวินาทีตามแกน X เชิงลบของโลกที่ความเร็วเชิงเส้นคงที่

กำหนดค่าการแนบ
คุณสามารถระบุทิศทางในการเคลื่อนที่ของวัตถุเฉพาะภายในการประกอบโดยการเพิ่มวัตถุ Attachment สองตัวลงในการประกอบ จากนั้นกำหนดการจัดแนวและการจัดตำแหน่งในพื้นที่ 3D เกมตัวอย่าง Moving Objects จัดแนวการแนบสองตัวตามแกน X ของโลกใกล้ตำแหน่งที่ท่อนไม้ที่ไม่ได้ยึดทับซ้อนกับชิ้นส่วนที่ยึด และจัดแนวแกนหลักของการแนบแต่ละตัวให้หันไปทางแกน X เชิงลบของโลก
เมื่อคุณกำหนดค่าข้อจำกัด PrismaticConstraint ของคุณในส่วนถัดไป มันจะเคลื่อนที่ของท่อนไม้ สัมพันธ์กับ ชิ้นส่วนที่ยึด กล่าวคือ ท่อนไม้จะเคลื่อนที่ออกจากชิ้นส่วนที่อยู่นิ่งซึ่งไม่สามารถเคลื่อนที่ได้เพราะมันถูกยึดในพื้นที่ 3D
เพื่อกำหนดค่าการแนบสำหรับข้อจำกัด Prismatic:
ในหน้าต่าง Explorer ขยายโฟลเดอร์ PrismaticConstraintExample จากนั้นขยายโมเดลลูกโซ่ Log_DIY ของมัน
แทรกการแนบลงในเมช Log.
- วางเมาส์เหนือเมชและคลิกปุ่ม ⊕ เมนูบริบทจะแสดงขึ้น
- จากเมนู แทรก Attachment การแนบจะแสดงอยู่ที่กลางชิ้นส่วน
- เปลี่ยนชื่อการแนบเป็น LogAttachment.

โดยใช้กระบวนการเดียวกัน แทรกการแนบลงในชิ้นส่วน Anchor จากนั้นเปลี่ยนชื่อการแนบเป็น AnchorAttachment.

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

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

กำหนดค่าข้อจำกัด
ตอนนี้การแนบของคุณอยู่ในแนวเดียวกันและหันไปในทิศทางเดียวกันที่คุณต้องการให้ท่อนไม้เคลื่อนที่ คุณสามารถกำหนดค่าคุณสมบัติของข้อจำกัด PrismaticConstraint เพื่อระบุว่าจะใช้ความเร็วเชิงเส้นคงที่ในทิศทางบวกหรือลบของแกนหลักของการแนบแต่ละตัว จำนวนสตัดที่คุณต้องการให้การแนบเคลื่อนที่ต่อวินาที และจำนวนแรงสูงสุดที่เอนจินสามารถใช้เพื่อให้ท่อนไม้เข้าถึงความเร็วเชิงเส้นคงที่
ในขณะที่คุณสามารถเลือกค่าต่างๆ สำหรับกรณีการใช้งานของคุณเอง เกมตัวอย่าง Moving Objects ใช้แรงคงที่สูงสุดถึง 50000 Rowtons เพื่อเคลื่อนที่ของการแนบ 40 สตัดต่อวินาทีตามแกน X เชิงลบของโลกที่ความเร็วเชิงเส้นคงที่ อย่างไรก็ตาม เนื่องจากการแนบที่ยึดอยู่ในวัตถุที่ถูกยึด การแนบของท่อนไม้เท่านั้นที่สามารถเคลื่อนที่ได้
เพื่อกำหนดค่าข้อจำกัด Prismatic:
แทรกวัตถุ PrismaticConstraint ลงในเมช Log.
- ในหน้าต่าง Explorer วางเมาส์เหนือเมช จากนั้นคลิกที่ไอคอน ⊕ เมนูบริบทจะแสดงขึ้น
- จากเมนูบริบท แทรก PrismaticConstraint.
กำหนดการแนบของท่อนไม้ไปยังข้อจำกัดใหม่เพื่อให้ท่อนไม้เคลื่อนที่ สัมพันธ์กับ ชิ้นส่วนที่ยึด
- ในหน้าต่าง Explorer เลือกข้อจำกัด
- ในหน้าต่าง Properties,
- ตั้งค่า Attachment0 เป็น AnchorAttachment.
- ตั้งค่า Attachment1 เป็น LogAttachment. ข้อจำกัดจะแสดงในมุมมอง

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

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

ใช้แรงเชิงเส้นเริ่มต้น
อีกวิธีหนึ่งในการเปลี่ยนความเร็วเชิงเส้นของวัตถุคือการใช้แรงกระตุ้น หลังจากแรงกระตุ้น วัตถุจะชะลอตัวจนหยุดนิ่งหากมีแรงที่เป็นอุปสรรค เช่น แรงเสียดทาน หรือยังคงเคลื่อนที่ด้วยความเร็วเชิงเส้นคงที่หากไม่มีแรงที่เป็นอุปสรรค
เทคนิคนี้มีประโยชน์ในการเคลื่อนที่ของวัตถุหลังจากเหตุการณ์การเล่นเกมที่สำคัญ เช่น การระเบิดหรือการชนที่มีผลกระทบ เพราะมันให้ข้อเสนอแนะแก่ผู้เล่นในทันที เพื่อแสดงให้เห็น ส่วนย่อยถัดไปจะสอนคุณวิธีการปล่อยตัวละครของผู้เล่นขึ้นไปสู่ท้องฟ้าเมื่อพวกเขาชนกับแพดกระโดดด้วยแรงกระตุ้นเริ่มต้นที่คุณสามารถปรับให้เข้ากับค่าที่ใหม่เพื่อให้ตรงกับความต้องการการเล่นเกมของคุณเอง
ใช้ ApplyImpulse
วิธี ApplyImpulse ใช้แรงกับการประกอบทั้งหมดเพื่อให้ได้ความเร็วเชิงเส้นเริ่มต้นก่อนที่จะชะลอตัวลงเมื่อมีแรงที่เป็นอุปสรรค เพื่อเริ่มเคลื่อนที่การประกอบ วิธีนี้ต้องการข้อมูลดังนี้:
- การประกอบที่จะเคลื่อนที่
- แกนที่จะใช้แรงเพื่อให้ได้ความเร็วเชิงเส้นเริ่มต้น
- จำนวนแรงที่จะใช้กับแต่ละแกน
คุณสามารถกำหนดค่าทั้งหมดเหล่านี้ในสคริปต์ ตัวอย่างเช่น สคริปต์ตัวอย่างกำหนดการประกอบที่จะเคลื่อนที่เป็นวัตถุ Humanoid ของตัวละครผู้เล่น จากนั้นใช้แรงกระตุ้นที่มีค่า 2500 Rowton-seconds เพื่อปล่อยผู้เล่นขึ้นไปบนแกน Y เชิงบวกของโลก หมายเหตุว่าตัวละครผู้เล่นมีมวลที่แตกต่างกัน ดังนั้นคุณอาจต้องเพิ่มและปรับสมดุลแรงนี้เพื่อปล่อยผู้เล่นทุกคนโดยไม่ปล่อยตัวละครผู้เล่นที่มีมวลน้อยเกินไปสูงเกินไป
เพื่อเคลื่อนที่การประกอบโดยใช้ ApplyImpulse:
ในหน้าต่าง Explorer ขยายโฟลเดอร์ ApplyImpulseExample จากนั้นขยายโมเดลลูกโซ่ JumpPad_DIY ของมัน
แทรกสคริปต์ลงในชิ้นส่วน JumpPad.
- วางเมาส์เหนือชิ้นส่วนและคลิกปุ่ม ⊕ เมนูบริบทจะแสดงขึ้น
- จากเมนู แทรก Script การแนบจะแสดงอยู่ที่กลางชิ้นส่วน
- เปลี่ยนชื่อสคริปต์เป็น JumpScript.
แทนที่โค้ดเริ่มต้นด้วยโค้ดต่อไปนี้:
local volume = script.Parentlocal function onTouched(other)local impulse = Vector3.new(0, 2500, 0)local character = other.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and other.Name == "LeftFoot" thenother:ApplyImpulse(impulse)endendvolume.Touched:Connect(onTouched)