Tôi khuyên bạn nên kiểm tra trang nổ iforce2d . Nó thực hiện một công việc tuyệt vời vượt qua nhiều cách xử lý vụ nổ khác nhau với hiệu suất so với sự đánh đổi chính xác. Nó đi qua 3 phương pháp mà tôi sẽ tóm tắt ở đây. Vì vậy, đây chỉ đơn giản là tôi tóm tắt thông tin tôi tìm thấy trong khi nghiên cứu và không ai trong số đó là công việc của riêng tôi.
Ngoài ra bạn muốn áp dụng các xung ở đây không phải là lực lượng. Để hiểu tại sao đọc cái này .
Phương pháp tiệm cận
Đây là cùng một phương pháp mà Byte56 đi qua trong câu trả lời của mình. Khái niệm này là đơn giản. Có một điểm nổ và đặt một xung theo hướng ngược lại với điểm sẽ ảnh hưởng đến tất cả các vật thể có cường độ dựa trên khoảng cách của chúng.
Ưu điểm:
Nhược điểm:
- Vụ nổ xuyên qua các vật thể bất động và các vật thể tĩnh.
- Các vật thể nằm trong vùng ảnh hưởng của vụ nổ có thể bị bỏ qua nếu bạn chỉ kiểm tra khoảng cách đến tâm khối lượng.
- Diện tích bề mặt không được tính đến.
- Mọi thứ đều bị ảnh hưởng cùng một lúc.
Phương pháp Raycast
Cái này đủ đơn giản, chiếu ra các tia từ nguồn gốc vụ nổ của bạn và áp dụng các xung khi chúng va chạm vào một vật thể với một xung lực được điều khiển bởi khoảng cách.
Ưu điểm:
- Hiệu suất ít hơn so với phương pháp đạn.
- Vụ nổ bị chặn bởi các vật thể.
- Diện tích bề mặt được tính đến.
Nhược điểm:
- Mọi thứ đều bị ảnh hưởng cùng một lúc.
- Vụ nổ càng lớn, bạn càng cần nhiều tia để đảm bảo vụ nổ ảnh hưởng đến mọi thứ.
- Hiệu suất chuyên sâu hơn phương pháp lân cận.
Phương pháp hạt
Yêu thích cá nhân của tôi. Tương tự như phương pháp RaySasting nhưng thay vì các tia, bạn tận dụng động cơ vật lý và phun ra các viên nhỏ tương tác với cảnh của bạn.
Ưu điểm:
- Mã cực kỳ dễ dàng. Tạo các quả bóng và áp dụng một xung cho mỗi người. Bạn không có mã để viết mỗi đánh dấu. Chỉ cần có một bộ đếm thời gian đi và tắt / đặt lại các cơ thể sau khi vụ nổ hoàn thành.
- Vụ nổ bị chặn bởi các đối tượng.
- Diện tích bề mặt được tính đến.
- Vụ nổ phản ánh ra khỏi bề mặt.
- Các đối tượng xa hơn từ vụ nổ phản ứng với nó chậm hơn.
- Bạn có thể sử dụng các quả bóng làm cơ sở để tạo ra các hạt cho phép các hiệu ứng của bạn phản ánh chính xác tác động của vụ nổ.
Nhược điểm:
- Thêm độ phức tạp trên mỗi đánh dấu.