วัตถุที่เคลื่อนไหว คือวัตถุที่เคลื่อนที่ในหนึ่งหรือมากกว่าหนึ่งแกนภายในพื้นที่ 3D โดยการใช้พลังที่สร้างขึ้นในตัวของ Roblox's simulation engine คุณสามารถทำให้วัตถุเคลื่อนที่และมีปฏิสัมพันธ์กับสิ่งแวดล้อมในลักษณะที่เลียนแบบพฤติกรรมทางกายภาพของโลกจริง ซึ่งเป็นสิ่งที่ผู้เล่นคุ้นเคยและเข้าใจได้ง่าย เช่น แรงโน้มถ่วง อากาศพลศาสตร์ และแรงเสียดทาน
โดยใช้ไฟล์ 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 Rowton หรือแรงคงที่ในการเคลื่อนที่ดอกบัว 15 สตูดต่อวินาทีตามแกน X เชิงลบของโลกที่ความเร็วเชิงเส้นคงที่ Rowton เป็นหน่วยฟิสิกส์หลักของ Roblox สำหรับการวัดแรง เพื่อดูการอ้างอิงหน่วยฟิสิกส์ของ Roblox และวิธีการแปลงเป็นหน่วยเมตริก ดูที่ Roblox Units.
ในการกำหนดค่าข้อจำกัด LinearVelocity:
เพื่อทำให้ข้อจำกัดแสดงในมุมมอง คุณสามารถอ้างอิงทิศทางที่เชิงเส้นให้เปิด แสดงรายละเอียดข้อจำกัด จากเมนู ดู ของ 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 เป็นประเภทของ ข้อจำกัดทางกล ที่สร้างข้อต่อที่แข็งระหว่างการแนบสองตัว อนุญาตให้ชุดของพวกเขาเคลื่อนที่ตามแกนเดียว สัมพันธ์กัน โดยการล็อกตำแหน่งของชุดทั้งสองในแกนเดียว ชุด จะสามารถหมุนได้เพียงถ้าพวกเขาหมุนร่วมกันในทิศทางเดียวกัน
การเคลื่อนไหวประเภทนี้นำไปสู่ scenari gameplay ที่มีเสถียรภาพซึ่งง่ายต่อการคาดเดาสำหรับผู้เล่น ตัวอย่างเช่น ประสบการณ์ตัวอย่าง 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-วินาทีเพื่อปล่อยผู้เล่นขึ้นไปบนแกน 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)