การดิ้นรนเพื่อตัดสินใจเกี่ยวกับการใช้งานกลไกไต่ระดับบนสำหรับนักฟิสิกส์ 2d platformer อะไรคือวิธีที่ดีที่สุดในการทำสิ่งนี้โดยไม่ซับซ้อนเกินไป?
จนถึงตอนนี้ฉันเข้าใจ (มือสมัครเล่นที่นี่ไม่ใช่มืออาชีพ) มีตัวเลือกไม่กี่อย่าง ได้แก่ :
ใช้แรงควบคุมกับร่างกายที่แข็งบนแกน y จนกระทั่งตำแหน่งรูตอยู่เหนือตำแหน่งมือจากนั้นใช้แรงกดบนแกน x มากพอเพื่อให้ตัวละครยืนอยู่บนแพลตฟอร์ม ในขณะเดียวกันก็ซิงค์สิ่งนี้กับภาพเคลื่อนไหวปีน
ข้อสังเกต : การเคลื่อนไหวนั้นง่ายที่นี่และยังสามารถควบคุมได้ด้วยข้อต่อแบบเลื่อนปริซึม แต่ฉันไม่แน่ใจว่าฉันจะเก็บอนิเมชั่น (กระดูกสันหลัง) ให้สอดคล้องกับการเคลื่อนไหวได้อย่างไร
แอนิเมชั่นการเคลื่อนไหวของรูทที่ขับเคลื่อนตำแหน่งรากของตัวละคร ส่งผ่านร่างแข็งเกร็งเมื่อเสร็จสิ้นและหวังว่า box2d ยังคงสามารถตอบสนองได้อย่างทันเวลาต่อการชนใด ๆ หากวัตถุใด ๆ ที่ตกลงมาจากท้องฟ้า
ข้อสังเกต : ฟังดูง่ายกว่าที่จะเคลื่อนไหวจริง แต่ไม่แน่ใจว่าฉันจะเจอปัญหาใด ๆ เกี่ยวกับกระดูกสันหลังรันไทม์, box2d หรือใหม่กว่าลงมาบนแพลตฟอร์มที่เคลื่อนย้ายสายและแพลตฟอร์มความสูงที่หลากหลาย
ใช้ IK ข้อ จำกัด โดยทางโปรแกรมในมือเพื่อล็อคพวกเขาในสถานที่และดำเนินการต่อเพื่อหมุนกระดูกด้วยตนเองหรือใช้ภาพเคลื่อนไหวที่กำหนดไว้ล่วงหน้าขนาดเล็ก (ไม่กี่คีย์ / เฟรม) ในขณะที่ใช้แรงที่จำเป็นกับร่างกายแข็งในเวลาเดียวกัน
ข้อสังเกต : ดูเหมือนว่าสิ่งนี้จะให้การควบคุมสูงสุดแก่ผู้เล่น แต่ดูเหมือนจะซับซ้อนสำหรับฉันที่จะใช้งานในระดับของฉันไม่แน่ใจว่าจะเริ่มตรงไหน
ขอบคุณล่วงหน้าสำหรับข้อมูลใด ๆ !
FYI: นี่คือเครื่องยนต์ที่ใช้ ECS (libgdx + ashley) พร้อม box2d คว้าหิ้งนำมาใช้แล้วเป็นระบบแยกเพื่อให้เราสามารถสันนิษฐานได้ว่าตัวละครมีความสามารถในการแขวนจากหิ้งใด ๆ สูง