Làm thế nào để tôi phát hiện các gờ?


18

Trong trò chơi của tôi, tôi muốn nhân vật của mình có thể nắm lấy và giữ các mỏm đá, và có thể tự kéo mình lên nếu có chỗ để làm như vậy.

Làm cách nào để phát hiện nếu có gờ và liệu nhân vật có đủ không gian để trèo lên không?


Câu hỏi này được tạo ra như một phiên bản canon của hai câu hỏi trước đó. Xem các cuộc thảo luận meta ở đây .
doppelgreener


1
Ngoài ra, liên kết các câu hỏi đã nói trong meta: gamedev.stackexchange.com/questions/38066/
triệt

Câu trả lời:


22

Video cho Overgrowth Alpha 132 cho thấy cách họ thực hiện leo lên gờ.

Phương pháp của họ nên hoạt động trong mọi động cơ, ngay cả động cơ 2D trong đó bạn sử dụng hình chữ nhật và hình tròn thay vì hình trụ và hình cầu.

Phát hiện gờ của họ liên quan đến hai phần:

Phát hiện tường (sử dụng hình cầu)

Trò chơi kiểm tra xem người chơi hiện đang va chạm với một bức tường. Nếu có một bức tường, có thể có các gờ mà người chơi có thể nắm lấy. Phần thứ hai đảm nhận việc phân tích các gờ.

Phát hiện gờ (sử dụng xi lanh)

Nếu người chơi tiếp xúc với tường, một hình trụ sẽ bị cuốn xuống từ một khoảng cách nhất định phía trên vị trí của người chơi cho đến khi chạm vào gờ. Điều này xác định ba điều:

  • Liệu một gờ có tồn tại trên người chơi
  • Chiều cao của gờ
  • Liệu có chỗ cho người chơi trèo lên gờ hay không, xem xét hình trụ chiếm không gian ngang giống như người chơi.

Phương pháp tuyệt vời và ví dụ tuyệt vời +1
Bugster

"Một hình trụ được quét xuống từ một khoảng cách nhất định phía trên vị trí của người chơi" Khoảng cách nào? Điều này rất quan trọng khi xử lý các môi trường trong nhà (bạn vô tình giao nhau trên trần nhà).
Tara

1
@Dudeson trước đây tôi đã sử dụng một raycast để tìm bề mặt gờ ban đầu, trước khi theo dõi với kiểm tra âm lượng để xác minh rằng có đủ phòng không bị cản trở để trèo lên. Vì raycast là định hướng nên nó không đọc trần là dương tính giả - mặc dù nó vẫn có thể bị chặn ở tầng tiếp theo nếu nguồn gốc quá cao .. Các số liệu chính xác sẽ phụ thuộc vào rất nhiều chi tiết của mỗi trò chơi - kích thước nhân vật, tầm với của cánh tay, khoảng trống trong thiết kế cấp độ, tốc độ rơi, v.v.
DMGregory

@DMGregory Ý tưởng hay với dàn diễn viên ray!
Tara
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.