Tôi có một bộ điều khiển nhân vật cơ bản được thiết lập cho một nền tảng 2D với Box2D và tôi bắt đầu tinh chỉnh nó để cố gắng làm cho nó cảm thấy tốt. Động cơ vật lý có rất nhiều nút để điều chỉnh và lần đầu tiên tôi không rõ ràng, viết bằng động cơ vật lý, cái nào tôi nên sử dụng. Nhảy có nên áp dụng một lực cho một vài dấu vết? Một xung lực? Trực tiếp đặt vận tốc? Làm thế nào để tôi ngăn hình đại diện dính vào tường mà không lấy đi mọi ma sát của nó (hoặc tôi lấy đi tất cả ma sát, nhưng chỉ trong không khí)? Tôi có nên mô hình nhân vật như một viên nang? Một hộp có góc tròn? Một hộp có hai bánh? Chỉ cần một bánh xe lớn? Tôi cảm thấy như ai đó phải làm điều này trước đây!
Dường như có rất ít tài nguyên có sẵn trên web không phải là "vật lý đầu tiên của em bé", tất cả đều bị cắt đứt khi tôi hy vọng ai đó đã giải quyết được vấn đề. Hầu hết các ví dụ về động cơ vật lý cho người chơi platformer đều có các điều khiển cảm giác lơ lửng, hoặc nhảy trong không khí, hoặc hành vi dễ khai thác khi độ thâm nhập tạm thời quá cao, v.v.
Một số ví dụ về những gì tôi muốn nói:
- Một cú nhảy ngắn nhảy một khoảng cách ngắn; một vòi dài nhảy cao hơn.
- Trượt ngắn khi dừng hoặc đảo hướng ở tốc độ cao.
- Đứng ổn định trên các đường nghiêng (nhưng có thể trượt xuống khi vịt).
- Tốc độ tương tự khi sử dụng bộ điều khiển analog.
- Tất cả những thứ khác tách biệt các nền tảng tốt từ các nền tảng xấu.
- Dám tôi đề nghị, nền tảng di chuyển ổn định?
Tôi không thực sự tìm kiếm "hey, làm điều này." Rõ ràng, điều đúng đắn phải làm là phụ thuộc vào những gì tôi muốn trong trò chơi. Nhưng tôi hy vọng ai đó đã trải qua các khả năng và nói "kỹ thuật A cũng có tính năng X tốt, kỹ thuật B làm Y tốt, nhưng điều đó không hoạt động với C", hoặc có một số ví dụ hoạt động vượt ra ngoài "if (key = = dấu cách) ký tự.impulse (0, 1) "