เหตุใดผู้เล่นจึงลอยอยู่ในอากาศเมื่อใช้ส่วนประกอบ nav mesh agent

หากไม่มีเอเจนต์ nav mesh มันก็ทำงานได้ดี แต่ด้วย ThirdPersonController ก็ลอยอยู่ในอากาศ จากนั้นจะเริ่มเคลื่อนที่ไปข้างหน้าหรือข้างหลังโดยอัตโนมัติ

ปัญหาอีกประการหนึ่งที่ฉันสังเกตเห็นไม่ว่าจะมีหรือไม่มี nav mesh agent ก็คือบางครั้งตัวละครหมอบลง/นั่ง/กระโดดแรงๆ เป็นเวลาหนึ่งวินาที/มิลลิวินาทีเมื่อมันเคลื่อนที่ด้วยปุ่มหรือสคริปต์ ซึ่งจะเกิดขึ้นในบางครั้ง

ฉันลองใช้ nav mesh agent ในตัวตรวจสอบเพื่อเปลี่ยนความสูงเป็น 0 แต่ฉันได้รับค่า: 1e-05 ค่า Base Offset คือ 0

ฉันยังมี Animator และส่วนประกอบ Rigidbody บน ThirdPersonController ที่มี Nav Mesh Agent ด้วย

ตัวแทนตาข่าย Nav


person Daniel Halfoni    schedule 24.04.2017    source แหล่งที่มา
comment
ตัวตรวจสอบที่แสดง 1e-05 ไม่ใช่ปัญหา คุณรู้ไหมว่ามันเท่ากับ 0.00001 จริงไหม? โดยพื้นฐานแล้วมันเป็นข้อผิดพลาดจุดลอยตัว เกิดขึ้นตลอดเวลา   -  person Draco18s no longer trusts SE    schedule 24.04.2017


คำตอบ (1)


คุณควรเปลี่ยนขนาดเอเจนต์ภายใน Nav Mesh Agent Compomenet คุณควรใช้มันเพื่อสร้างชนวนรอบผู้เล่น ปรับรัศมีเพื่อให้เครื่องเล่นของคุณพอดีกับด้านใน และปรับความสูงในลักษณะที่บรรจุเครื่องเล่นทั้งหมดของคุณ หากคอลไลเดอร์ไม่อยู่ตรงกลาง ให้ใช้ออฟเซ็ตเพื่อจัดให้อยู่กึ่งกลาง

person pasotee    schedule 24.04.2017