Đấu tranh để đưa ra quyết định về việc thực hiện một cơ chế leo lên gờ cho một nền tảng 2d điều khiển vật lý. Cách tốt nhất để làm điều này mà không quá phức tạp là gì?
Cho đến nay tôi hiểu (người có sở thích ở đây không phải là dân chuyên nghiệp) có một vài lựa chọn bao gồm:
Áp dụng lực được kiểm soát vào thân cứng trên trục y cho đến khi vị trí gốc nằm ngay trên vị trí tay sau đó tác dụng đủ lực lên trục x để nhân vật đứng trên bục. Đồng thời bằng cách nào đó đồng bộ hóa điều này với (các) hoạt hình leo trèo.
Lưu ý : chuyển động ở đây dễ dàng và thậm chí có thể được điều khiển bởi khớp trượt hình lăng trụ nhưng tôi không chắc chắn làm thế nào tôi có thể giữ cho hình ảnh động (cột sống) đồng bộ với chuyển động.
Root chuyển động hình ảnh động ổ đĩa vị trí gốc của nhân vật. Dịch chuyển cơ thể cứng nhắc khi hoàn thành và hy vọng box2d vẫn có thể phản ứng đúng lúc với bất kỳ va chạm nào nếu có bất kỳ vật thể nào rơi xuống từ bầu trời.
Lưu ý : nghe có vẻ dễ thực sự hơn nhưng không chắc chắn liệu tôi có gặp phải bất kỳ vấn đề nào với thời gian chạy cột sống, box2d hoặc sau đó xuống các nền tảng di chuyển dòng và nền tảng chiều cao khác nhau.
Áp dụng ràng buộc IK theo chương trình trên tay để khóa chúng tại chỗ và tiến hành xoay xương bằng tay hoặc áp dụng các hình động nhỏ (vài phím / khung) đặt sẵn trong khi áp dụng lực cần thiết vào cơ thể cứng nhắc cùng một lúc.
Lưu ý : có vẻ như điều này sẽ cung cấp quyền kiểm soát tối đa cho người chơi nhưng nghe có vẻ phức tạp đối với tôi khi thực hiện ở cấp độ của mình, không chắc chắn chính xác nơi tôi sẽ bắt đầu.
Đặc biệt cảm ơn vì bất cứ đóng góp nào!
FYI: Đây là một công cụ dựa trên ECS (libgdx + ashley) với box2d. Việc lấy gờ đã được triển khai như một hệ thống riêng biệt, vì vậy chúng ta có thể giả sử ở đây rằng nhân vật đã có khả năng treo trên một gờ có chiều cao bất kỳ.