FPS ตรวจจับการชนและการเคลื่อนไหว


11

โดยทั่วไปการตรวจจับการชนและการเคลื่อนย้ายใน FPS เป็นอย่างไรโดยเฉพาะการจัดการการเปลี่ยนแปลงเล็กน้อยในความสูงของพื้นดินเช่นบันได (ทั้งบนความลาดเอียงและการลดลง)

คำตอบ:


12

หน่วยงานมักจะแสดงโดยแคปซูล (ทรงกระบอกที่มีทรงกลมที่ปลาย) กับเรขาคณิตโลก (หรือตาข่ายชนง่าย) สำหรับการปะทะกันทั่วโลก

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

ฉันคิดว่านี่เป็นวิธีที่ Unreal 3 ทำงาน แต่ฉันคิดผิด ฉันจำได้ว่าเห็นลำดับชั้นของกล่องขอบเขตในซอร์ส แต่ฉันจำไม่ได้ว่าเป็นเพียงเพื่อการต่อสู้ ไม่ว่าแคปซูลจะง่ายและรวดเร็ว


1

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


0

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


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

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

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