Làm thế nào để phát hiện va chạm và chuyển động thường được xử lý trong FPS, đặc biệt là xử lý những thay đổi nhỏ về chiều cao mặt đất như cầu thang (cả về độ nghiêng và độ suy giảm)?
Làm thế nào để phát hiện va chạm và chuyển động thường được xử lý trong FPS, đặc biệt là xử lý những thay đổi nhỏ về chiều cao mặt đất như cầu thang (cả về độ nghiêng và độ suy giảm)?
Câu trả lời:
Các thực thể thường được đại diện bởi một viên nang (hình trụ có hình cầu ở hai đầu) chống lại hình học thế giới (hoặc lưới va chạm đơn giản hóa) cho va chạm thế giới.
Cầu thang thường không có va chạm với một đường dốc vô hình, hoặc dưới một độ cao nhất định, bạn thường có được một thang máy lên như một tác dụng phụ của giải quyết va chạm. (bạn sẽ nhận được sự thâm nhập với chuyển động như một phần của kích thước bước và độ phân giải sẽ đưa nó lên trên dưới dạng mặt phẳng gần nhất)
Tôi nghĩ đây là cách Unreal 3 hoạt động, nhưng tôi có thể sai. Tôi nhớ rằng đã thấy một hệ thống phân cấp hộp giới hạn trong Nguồn, nhưng tôi không thể nhớ nếu đó chỉ là để chiến đấu. bất kể, viên nang là đơn giản và nhanh chóng
Trong Unity 3D, cách dễ nhất là có bộ điều khiển người đầu tiên. Thông thường nhân vật phải nhảy lên nếu chiều cao bước cao hơn bước bù. Nhưng một cách khác để làm điều đó là thêm một máy va chạm hộp và xoay nó để nhân vật có thể lướt qua cầu thang một cách dễ dàng, như thể đó là một đoạn đường nối.
Câu trả lời của Brady là tốt, nhưng nếu bạn muốn một cách khéo léo để làm điều đó, bạn có thể chỉ cần chiếu một tia xuống hình học va chạm cơ sở của bạn, tìm ra hình tam giác nào chạm vào, và sau đó sử dụng trung bình có chiều cao của các câu tam giác để tìm ra chiều cao mặt đất.