Hitbox và Hurtbox trong Unity3D (Phần 1)

Phàm từ xưa đến nay, nhiều chuyện nghĩ thì đơn giản nhưng lúc bắt tay vào làm thì gặp rất nhiều vấn đề đau đầu. Ví dụ khi một nhân vật trong game thực hiện một đòn đánh nếu trúng đối phương thì đối phương sẽ nhận damage. Nhưng nếu bạn đang từng hoặc có ý định làm một con game hành động chặt chém, đối kháng chắc sẽ gặp những vấn đề ở phần này. Điển hình như:

  • Làm thế nào để biết đòn đánh đó có trúng hay không?
  • Làm thế nào để biết những đối phương nào trúng đòn đánh đó?
  • Làm thế nào để kiểm soát khi nào đón đánh đó gây damage vào người đối phương?..

Tổng Quát

Để giải quyết triệt để những vấn đề trên, chúng ta cần nắm được những khái niệm cơ bản về hitbox, hurt box và Layer Collision Matrix trong Unity.

Vậy hitbox và hurtbox là gì? Chúng khác gì nhau?

Hitbox là một hình hộp (hoặc hình cầu) ẩn, dùng để xác định phạm vi đòn đánh.
Hurtbox cũng tương tự như hitbox, nhưng được gắn trên các object dùng để xác định object đó có bị trúng bởi đòn đánh hay không.

Dead or Alive 6 Kasumi vs Tina
Hình ảnh chỉ mang tính chất minh hoạ

Để cho các bạn dễ hình dung trực quan hơn thì hãy tham khảo video dưới đây:

Trong Unity

Khái niệm thì chỉ có như thế thôi, vậy trong Unity chúng ta sẽ làm gì để tạo được Hitbox và Hurtbox. Unity có cung cấp cho chúng ta một API gọi là PhysicOverlap, nếu bạn muốn hiểu kĩ hơn về API này có thể tham khảo tại đây.

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

Hãy để Gini Webseo tư vấn cho bạn