Devlog 2: Thử nghiệm Ragdoll và điều khiển player đơn giản

Sau một tuần tìm hiểu lập trình vật lý bằng LUA Script trong Leadwerks Game Engine, Mình đã tạo ra một nhân vật áp dụng tính toán vật lý ragdoll khi rơi tự do hoặc bị đạn bắn.

Các bộ phận (body parts) của ragdoll có thể điều chỉnh về kích thước một cách dễ dàng và được bố trí phù hợp với cấu trúc cơ thể người, có lẽ chưa thật chính xác nhưng cũng đủ để mô phỏng. Dưới sự tác động của đạn, các bộ phận này có thể tách rời ra và di chuyển theo hướng tác động của lực (dismemberable). Ragdoll sử dụng hàm Joint:Ball và Joint:Hinge trong API của Leadwerks.

Về điều khiển của người chơi (PlayerControl), hiện tại đã có thể thực hiện các thao tác sau

  • Di chuyển bằng tổ hợp phím ASDW (sử dụng Model:Box() có CollisionType = Character), tuy nhiên khối hình trụ vật lý khi di chuyển vẫn chưa chính xác.
  • Sử dụng chuột để nhìn theo các hướng, tuy nhiên vẫn chưa giới hạn được góc quay camera.
  • Vứt / Nhặt vũ khí
  • Vũ khí có thể chuyển qua lại giữa 2 chế độ FFH và IronSight đồng thời ZoomIn cho camera

Dưới đây là 2 video minh họa.

Clip thứ 2 đã có thêm bối cảnh, ánh sáng và thay đổi vũ khí cho phù hợp hơn (MP5SD không đủ uy lực để dismember các bộ phận của ragdoll)

Tài liệu cùng chủ đề