ฟิสิกส์สำหรับ platformer 2.5D ด้วยเครื่องบินที่โค้ง


9

ฉันกำลังสร้าง platformer 2.5D ใน XNA ซึ่งใช้โมเดล 3 มิติที่ จำกัด การเดินทางไปตามระนาบ 2D (เช่นเดียวกับTrine )

อย่างไรก็ตามเพื่อให้สิ่งต่าง ๆ มีเล่ห์เหลี่ยมฉันต้องการให้เครื่องบิน 2 มิติสามารถโค้งได้ พิจารณาการเล่นซ้ำของ Klonoa นี้ (คุณเพียงแค่ต้องดูเป็นเวลา 10 วินาที): แม้ว่าผู้เล่นจะอยู่ในระนาบ 2D แต่เครื่องบินนั้นสามารถล้อมรอบด้านข้างของภูเขาได้อย่างมีประสิทธิภาพช่วยให้ผู้เล่นเดินทางผ่านอวกาศ 3 มิติ - ตลอดเวลา จำกัด กับระนาบ 2D ปกติของ platformer

ฟิสิกส์ควรเข้าหาในเกมเช่นนี้อย่างไร?

  • ฉันควรใช้เอนจิ้นฟิสิกส์แบบ 2D หรือเอนจินฟิสิกส์แบบสามมิติ
  • มีเครื่องมือฟิสิกส์ใด ๆ ที่ออกแบบโดยคำนึงถึงสถานการณ์นี้จริงหรือไม่?
  • สำหรับสิ่งใดก็ตามที่ไม่ได้ออกแบบมาสำหรับสิ่งนี้: จำเป็นต้องมีแฮ็กหรือลูกเล่นอะไรเพื่อให้เครื่องยนต์ฟิสิกส์ร่วมมือกับฉัน

2
ฉันเดาว่า 'เส้นโค้ง' เป็นเพียงภาพในแง่ของฟิสิกส์ดูเหมือนว่าจะเป็น 2D เคล็ดลับเดียวที่จะแปลงเป็นพื้นที่ GFX หรือแปลงเป็นพื้นที่ฟิสิกส์
decaviatedcaviar

คำตอบ:


9

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

คุณอาจสนใจเอฟเฟกต์สามมิติบางอย่าง ในเกม "Bionic Commando: Re-weapon" ตัวละครศัตรูที่พ่ายแพ้จะมีการ 'กลิ้ง' ออกจากแพลตฟอร์มทำให้ฟิสิกส์ ragdoll จริง 3D นอกจากนี้เอ็นจิ้นฟิสิกส์ 3 มิติส่วนใหญ่อนุญาตให้คุณ จำกัด การเคลื่อนไหวตามแนวแกนตั้งแต่หนึ่งแกนขึ้นไป (แม้ว่าจะมีการปรับแต่งบางอย่างเช่นการสร้างรอยต่อระหว่างถนนกับตัวละครที่เคลื่อนไหว)

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

คำแนะนำของฉันเริ่มต้นจากเอนจิ้น 2D หากคุณไม่ต้องการการคำนวณเชิงฟิสิกส์ในมิติที่ 3 มิฉะนั้นเลือกเครื่องยนต์ 3D และ จำกัด การคำนวณในสองแกนเท่านั้นที่เกี่ยวข้อง


2

มันขึ้นอยู่กับว่าฟิสิกส์ใดของคุณสามารถเกิดขึ้นได้นอกพื้นที่ผู้เล่นราบ

ดังที่ ghostonline กล่าวว่าภาพเคลื่อนไหวของเศษซากและ ragdoll เป็นตัวอย่างคลาสสิกของฟิสิกส์นอก 2D ในเกม 2.5D

อีกตัวอย่างหนึ่งคือสัญลักษณ์แสดงหัวข้อย่อย: หากมี projectiles ใด ๆ ในเกมของคุณพวกเขาทำตามความโค้งของพื้นที่ 2D ของคุณหรือเดินทางตรงไปข้างหน้าแม้ว่านั่นหมายความว่าพวกเขาจะออกจากขอบเขตเหล่านั้นหรือไม่?

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

ในขณะที่มีช่องว่างเกม 2D โค้งเป็นส่วนเสริมที่ดีก็ต้องมีค่าใช้จ่ายค่อนข้างมากสำหรับรหัส นั่นอาจเป็นเหตุผลที่ไม่มีใน Trine แต่เกมก็สนุกดีใช่มั้ย ฉันคิดสองครั้งเกี่ยวกับคุณสมบัติเช่นนั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.