Làm cách nào tôi có thể dự đoán các va chạm giữa người chơi và đạn trong Box2D?


8

Tôi đang thực hiện một trò chơi bắn súng thời gian thực với Box2D là công cụ vật lý. Trò chơi chủ yếu là về quỹ đạo, như Angry Birds. Tôi muốn tạo hiệu ứng chuyển động chậm và di chuyển camera đến người chơi khi anh ta bị giết, nhưng hiệu ứng sẽ bắt đầu khi hòn đá vẫn còn trong không khí, trước khi vụ va chạm thực sự xảy ra.

Mức độ thiệt hại chỉ được tính khi va chạm, dựa trên xung lực. Bởi vì đây là một trò chơi thời gian thực, người chơi phải có thể di chuyển cơ thể vật lý của nhân vật mà không bị lag.

Làm thế nào tôi có thể dự đoán cái chết của họ? Nó thậm chí có thể? Tôi có thể raycast, nhưng nếu một đối tượng khác di chuyển để chặn đường đi của nó thì sao?

nhập mô tả hình ảnh ở đây


1
Lưu ý lý thuyết: Tương lai của các hệ thống không xác định là theo định nghĩa không thể đoán trước. Xem mèo của Schrödinger , thay thế tinh thần "mèo" bằng "nhân vật người chơi".
Anko

1
@Anko ý tưởng rất thú vị! Tôi chưa bao giờ thử điều đó. Nhưng người chơi vẫn có thể di chuyển nên anh ta đi đâu hoặc đi bao xa là không thể dự đoán được. Tuy nhiên, tôi biết tốc độ di chuyển của người chơi nên khi hòn đá đủ gần, tôi biết nó sẽ không bỏ lỡ ...
Arch1tect

1
(1/2) IMO sẽ thú vị hơn nhiều nếu bạn sử dụng một raycast để xem liệu một vụ va chạm có cơ hội tốt xảy ra hay không, sau đó bắt đầu thu phóng camera và làm chậm trò chơi. Đối với mỗi khung hình, hãy thực hiện lại việc đúc tia để xem đá có còn trên đường va chạm hay không. Nếu đá bị chặn, máy ảnh chỉ nên phóng to về trạng thái bình thường, nhưng đối với mọi khung hình vẫn có khả năng xảy ra va chạm, hãy phóng to camera hơn một chút.
NauticalMile

1
(2/2) Điều này sẽ giết chết hai con chim bằng một viên đá (chơi chữ không có ý định): bạn sẽ không cần phải 'nhìn về tương lai', và người chơi sẽ trải nghiệm cảm giác hồi hộp cũng như trực tiếp (hoặc chăn thả) lượt truy cập. Trên thực tế, tôi có thể lập luận rằng các hiệu ứng của bạn sẽ trở nên nhàm chán nếu người chơi biết điều đó, mỗi khi máy ảnh phóng to và trò chơi chậm lại, anh ta sẽ phải chịu số phận. Anh ấy sẽ muốn bỏ qua 'hoạt hình' ngay lập tức và thử lại. Nhưng nếu có cơ hội anh ta có thể lảng tránh hòn đá, bạn có thể cá rằng anh ta sẽ cắn móng tay chờ xem kết quả.
NauticalMile

1
(1/2) @Na hảiMile này, đó cũng là một ý kiến ​​hay !! Tôi e rằng nó có thể không áp dụng trực tiếp vào trò chơi của tôi vì người chơi bị đánh quá thường xuyên, vì vậy việc phóng to và chuyển động chậm có thể làm gián đoạn trò chơi đang diễn ra quá nhiều.
Arch1tect

Câu trả lời:


2

Tại sao tính toán quỹ đạo cho các hiệu ứng âm thanh / làm chậm?

Nếu bạn chia hành động làm chậm máy ảnh và phát các hiệu ứng thành các phần khi tiếp cận nạn nhân yếu đuối của bạn thì về cơ bản bạn có thể chơi chúng với điều kiện khoảng cách gần.

Đây là một ví dụ tuyệt vời mà đến với tâm trí. Hiệu ứng làm chậm làm chậm trong Peggle

Bóng đến gần chốt và bắt đầu chậm lại. Điều này thực sự dựa hoàn toàn gần, không có quỹ đạo liên quan. Nếu nó đủ gần với chốt cuối cùng, nó sẽ bắt đầu một cuộn trống và làm chậm quá trình chơi trò chơi, nếu nó không chạm vào chốt và đi ra khỏi phạm vi bạn nghe thấy "Awww .. :(" và tất cả trở lại bình thường, nhưng nếu nó va chạm, bạn sẽ có được màn hình Overture đầy đủ và chiến thắng.

Đây là một kỹ thuật tuyệt vời nếu bạn chấp nhận làm cho người chơi của mình đi "Holy cow, I suýt bị đánh!". Nếu bạn có âm thanh / hiệu ứng khởi động cho một cam chết sẽ phát trước khi va chạm thì chỉ cần kích hoạt nó khi hòn đá đủ gần để ngay cả khi người chơi di chuyển với tốc độ tối đa theo bất kỳ hướng nào - họ có một sự thay đổi lớn về việc bị vắt .

Giả sử tảng đá của bạn rơi xuống và bạn muốn bắt đầu hiệu ứng làm chậm cách người chơi ~ 4m: Bạn bắt đầu bằng cách kích hoạt làm chậm, di chuyển máy ảnh của bạn và bắt đầu tập trung vào người chơi - sau đó tảng đá bị gián đoạn bởi các mảnh vỡ khác chỉ cần thoát khỏi tiêu điểm chậm và trình phát của bạn tiếp tục như bình thường.

nhập mô tả hình ảnh ở đây

Đây thực chất là cách Peggle xử lý hiệu ứng làm chậm của chúng và kích hoạt nhạc kết thúc trò chơi và hoàn toàn khả thi khi sử dụng trên kịch bản cảnh chết chóc trước máy ảnh / rock / squishy của bạn.

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.