Khi sử dụng công cụ vật lý trong trò chơi (như Bullet), bạn thường cần xác định lề va chạm cho từng đối tượng. Tôi là người mới bắt đầu phát triển trò chơi và tôi không hiểu mục đích của việc va chạm.
Hiểu biết cơ bản của tôi là nếu bạn có hai vật thể, mỗi vật có lề va chạm được đặt thành 0,01, thì sẽ phát hiện ra một vụ va chạm khi hai lề va chạm chạm vào nhau, sao cho khoảng cách giữa hai vật thực sự là 0,02.
Nhưng tại sao không chỉ đặt lề va chạm thành 0 và khiến phát hiện va chạm khi bề mặt thực tế của hai vật thể va chạm? Đây là cách vật lý hoạt động trong thực tế.
Một đoán là như sau. Nếu một khối lập phương có biên độ 0,01 thì sẽ phát hiện va chạm bất cứ khi nào một phần của vật thể khác tồn tại trong khoảng từ 0 đến 0,01 từ bề mặt của vật thể. Điều này khiến phòng mô phỏng bị lỗi, do đó nếu nó "bỏ lỡ" điểm khi đối tượng vượt qua lề va chạm của khối lập phương (vì bước mô phỏng dài), thì vẫn còn thời gian để phát hiện va chạm khi đối tượng di chuyển gần hơn về phía bề mặt của khối lập phương, trong phạm vi 0,01. Mặt khác, nếu lề bằng 0 và sự va chạm bị bỏ qua bởi mô phỏng, bạn có thể gặp tình huống hai vật thể rắn chiếm cùng một không gian, điều này có thể gây ra vấn đề.
Điều này có đúng không? Hoặc là có một lý do khác?
Cảm ơn!