Làm cách nào để xử lý RTS Click-And-Move trong Không gian 3D?


10

Làm cách nào tôi có thể xử lý nhấp và di chuyển trong không gian 3D hoàn chỉnh? Thật dễ dàng để xử lý trên mặt phẳng 2D bằng một raycast đơn giản, nhưng đây không phải là trường hợp trong 3D vì không có mặt phẳng cuối để một raycast có được điểm cuối.

Tôi có hai ý tưởng trong đầu:

  1. Thực hiện raycast, sau đó cho phép người chơi chọn khoảng cách trên tia bằng một đầu vào khác (ví dụ như mousewhell).
  2. Thay vì 3D hoàn chỉnh, có nhiều "lớp chiều cao", do đó người chơi có thể thay đổi lớp chiều cao trước khi ra lệnh di chuyển.

Quan điểm của bạn là gì?

Câu trả lời:


4

Phá vỡ phong trào trong hai bước là một cách tiếp cận lỗi thời.

Chuột di chuyển cho mặt phẳng ngang. Bánh xe chuột cho mặt phẳng thẳng đứng.

Homewworld đã làm rất tốt, nhưng bánh xe chuột chưa được triển khai rộng rãi nên họ đã không đi theo hướng đó.

Bạn vẫn có thể có các phím bổ trợ để chuyển đổi chuột giữa các chế độ nhưng việc di chuyển chuột và cuộn có thể được thực hiện đồng thời, do đó là phương pháp hiệu quả nhất cho phần cứng. Trong homewworld bạn đặt các mặt phẳng theo thứ tự lần lượt từng cái khác làm bạn chậm lại. Chưa kể bạn chỉ bị chậm lại trong việc di chuyển đến không gian trống. Di chuyển đến đối tượng tự động quỹ đạo.

Các cách khác để làm điều đó đồng thời là hai tay trên bàn phím hoặc điều khiển hai thanh.

Nếu tính trôi chảy của bạn phụ thuộc vào tốc độ, việc thực hiện và bước thêm có thể giết chết dòng chảy của bạn. Homewworld phù hợp với hệ thống của nó bởi vì sẽ không có vấn đề gì nếu bạn lãng phí thêm một hoặc hai giây trong việc ban hành lệnh di chuyển của mình và bạn có thể chắc chắn rằng họ đã cân nhắc điều đó khi họ xây dựng nhịp độ.

Vị trí thu phóng PS:

Nếu thu phóng không phải là một thợ máy trung tâm và bạn không cần phải giữ nó mạnh nhất có thể thì nó có thể được giảm tải.

Xử lý thu phóng giống như cách trò chơi "Đen và Trắng" ban đầu đã làm. Thu phóng bằng di chuyển chuột + Giữ nút chuột (trong đó nút chỉ là công cụ sửa đổi chức năng giữa di chuyển bản đồ và thu phóng bản đồ). Các giao tử mà tôi đã sử dụng đều đồng ý rằng "cảm giác" là zoom tốt nhất. Tôi khuyên bạn nên giữ cả chuột 1 và chuột 2 trong khi ở chế độ thu phóng (chính xác như B & W đã làm) - nhưng về mặt kỹ thuật, một trong số chúng sẽ đủ nếu bạn không có xung đột.

Tôi thường khuyên mọi người nên cài đặt trò chơi để chơi thử. Thêm khả năng sử dụng bàn phím và cơ chế hữu ích và thoải mái nhất cho đến nay tôi từng thấy để điều hướng bản đồ lớn.

Bây giờ, điều này tất nhiên không phải là mặc định phổ biến và bạn phải chắc chắn rằng nó được giải thích cho người dùng của bạn ít nhất một vài lần. Nhưng một khi mọi người có được nó, họ rất thoải mái với nó. Bên cạnh đó bạn đang dạy điều hướng folks trong 3d. Bạn nhất định phải mạo hiểm ra khỏi vùng thoải mái kiểm soát 2d bằng mọi cách.

Nếu chuột của bạn quá tải với các điều khiển, bạn luôn có thể sử dụng phím bàn phím sửa đổi hoặc nút chuột giữa. Cấu hình tối ưu sẽ thực sự phụ thuộc vào lưu lượng trò chơi của bạn.


Câu trả lời này thực sự phù hợp hơn trong kịch bản này. Nhưng tôi nên xử lý thu phóng như thế nào nếu tôi sử dụng mousewhell cho mục đích này? Sẽ là quá bất tiện khi xử lý thu phóng qua bàn phím.
S. Tarık Çetin

@ S.TarıkÇetin cập nhật.
helena4

9

Chia phong trào thành hai bước

  1. Chọn một vị trí trên mặt phẳng 2D X / Z nằm ở vị trí Y hiện tại của thực thể.
  2. Đặt phần bù (lên hoặc xuống) từ mặt phẳng đó.

Điều này tương tự như cách Homewworld , một trong những trò chơi RTS không gian 3D đầu tiên xử lý chuyển động. Hoạt động thực sự tốt.

Việc chia chuyển động thành hai bước cung cấp nhiều quyền kiểm soát nhất, đơn giản vì chuột là thiết bị đầu vào 2D. Nó chỉ có thể cung cấp một vị trí trên một mặt phẳng tại một thời điểm. Điều tương tự có thể đạt được bằng cách ràng buộc hai phím trên bàn phím là lên / xuống trong trục Y.

Ngoài ra, bạn có thể sử dụng nút chuột phải để chuyển chế độ. Ví dụ, nhấp chuột trái bắt đầu lệnh di chuyển và di chuyển mục tiêu trên mặt phẳng X / Z, giữ nút chuột phải để chuyển sang vị trí trục Y.

nhập mô tả hình ảnh ở đây


Cho đến nay, đây có vẻ là lựa chọn hợp lý nhất. Tôi sẽ chờ đợi, trong trường hợp ai đó nghĩ ra một ý tưởng tốt hơn.
S. Tarık Çetin

2

Làm những gì EVE trực tuyến làm: Không cho phép nhấp và di chuyển! Ghi chú

Những gì họ làm là họ tạo các đối tượng trong không gian và cho phép bạn nhấp chuột phải vào chúng (raycast hoặc không có gì) và chọn một trong các tùy chọn khác nhau:

  • Đi đến đối tượng (với tốc độ khác nhau)
  • Xoay về đối tượng (ở bán kính khác nhau)

Điều này cho phép bạn chỉ di chuyển đến những nơi có liên quan.


Lưu ý (Tuy nhiên, gần đây họ có thể đã thay đổi. Không chơi được một lúc.)


Vâng, điều này giải quyết vấn đề, nhưng cũng phá hủy khía cạnh của trò chơi tạo ra vấn đề này ngay từ đầu.
S. Tarık Çetin

@ S.TarıkÇetin Đúng! Có lẽ trong trường hợp của họ đây là điều hợp lý nhất để làm. Và có lẽ nó không áp dụng cho tình huống của bạn.
Vaillancourt

Từ những gì tôi nhớ, bạn thực sự có thể nhấp để di chuyển trong đêm giao thừa. Đó là nhiều hơn một lựa chọn một loại hướng,
MichaelHouse

Có các điều khiển bàn phím trong đêm giao thừa mà bạn có thể sử dụng để điều khiển tàu của mình, nhưng khi thực hiện điều này, bạn bị hạn chế về tốc độ chiến thuật (ví dụ: bay từ trạm vũ trụ trên quỹ đạo quanh Hành tinh X đến một vệ tinh cũng quay quanh Hành tinh X có thể mất một một hoặc hai phút, bay đến mặt trăng của Hành tinh X thông qua điều khiển thủ công sẽ mất ít nhất 5 phút). Du lịch tốc độ cao chỉ có thể được bắt đầu bằng cách chọn một điểm đến.
Dan Henderson

3
Có một kỹ thuật để trốn tránh sự truy đuổi dựa trên điều này - bắt đầu bay đến một mục tiêu ở xa, dừng lại giữa chừng, sau đó chọn một mục tiêu mới theo một hướng khác và một lần nữa dừng lại giữa chừng. Thả một "dấu trang" tại vị trí biệt lập này và sau đó bạn có thể bay đến dấu trang này khi bị tấn công và những kẻ truy đuổi của bạn sẽ không thể bay với tốc độ cao theo cùng một hướng.
Dan Henderson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.