Jak obsługiwać RTS Click-And-Move w przestrzeni 3D?


10

Jak obsłużyć funkcję „kliknij i przesuń” w pełnej przestrzeni 3D? Łatwo jest obsługiwać na płaszczyźnie 2D za pomocą prostego raycasta, ale nie jest tak w 3D, ponieważ nie ma płaszczyzny końcowej, aby raycast mógł uzyskać punkt końcowy.

Mam na myśli dwa pomysły:

  1. Wykonaj raycast, a następnie pozwól graczowi wybrać odległość na promieniu innym wejściem (na przykład muszla myszy).
  2. Zamiast pełnego 3D, mają wiele „warstw wysokości”, dzięki czemu gracz może zmienić warstwę wysokości przed zamówieniem ruchu.

Jakie są Twoje myśli?

Odpowiedzi:


4

Przerwanie ruchu w dwóch krokach jest przestarzałym podejściem.

Ruch myszy w płaszczyźnie poziomej. Kółko myszy do płaszczyzny pionowej.

Homeworld wykonał świetną robotę, ale kółka myszy nie były jeszcze tak szeroko rozmieszczone, że nie poszły z tym.

Nadal możesz mieć klawisze modyfikujące do przełączania ruchu myszy między trybami, ale przesuwanie myszy i przewijanie może być wykonywane jednocześnie, dlatego jest to najbardziej wydajna metoda dla sprzętu. W świecie macierzystym ustawiasz samoloty jeden po drugim, co spowalnia cię. Nie wspominając o tym, że jesteś spowolniony tylko w poruszaniu się do pustej przestrzeni. Przejście do obiektu zautomatyzowało trajektorię.

Innymi sposobami, aby to zrobić jednocześnie, są dwie ręce na klawiaturze lub kontrolki typu Twin Stick.

Jeśli płynność ruchu zależy od prędkości, wykonanie i dodatkowy krok mogą zabić Twój przepływ. Homeworld pasuje do tego systemu, ponieważ nie ma znaczenia, czy tracisz dodatkową sekundę lub dwie na wydanie polecenia ruchu, i możesz być pewien, że wziął to pod uwagę, gdy budowali tempo.

Miejsce powiększania PS:

Jeśli powiększanie nie jest centralną mechaniką i nie musisz utrzymywać go tak solidnie, jak to możliwe, można go wyładować.

Obsługuj powiększanie w taki sam sposób jak oryginalna gra „Czarno-biały”. Powiększanie ruchem myszy + przytrzymanie przycisku myszy (gdzie przycisk jest tylko modyfikatorem funkcji między ruchem mapy a powiększeniem mapy). Wszystkie używane przeze mnie gametestery zgadzają się, że „wydaje się” najlepszym zbliżeniem. Polecam trzymanie zarówno myszy 1, jak i myszy 2 w trybie powiększenia (dokładnie tak, jak robił to czarno-biały) - ale technicznie jeden z nich wystarczy, jeśli nie masz konfliktu.

Często polecam ludziom zainstalowanie gry, aby ją wypróbowała. Dodaj użyteczność klawiatury i jej najbardziej użyteczną i wygodną mechanikę, jaką do tej pory widziałem w nawigacji po dużych mapach.

Teraz, oczywiście, nie jest to powszechne ustawienie domyślne i musisz do cholery dobrze się upewnić, że wyjaśniono to użytkownikom przynajmniej kilka razy. Ale kiedy ludzie to zrozumieją, czują się z tym bardzo dobrze. Poza tym uczysz ludzi nawigacji w 3D. Jesteś zobowiązany wyjść w jakikolwiek sposób ze strefy komfortu 2d control.

Jeśli Twoja mysz jest zbyt obciążona kontrolkami, zawsze możesz użyć klawisza modyfikującego lub środkowego przycisku myszy. Optymalna konfiguracja naprawdę zależy od przebiegu gry.


Ta odpowiedź lepiej pasuje do tego scenariusza. Ale jak mam obsługiwać powiększanie, jeśli do tego celu używam myszy? Byłoby zbyt niewygodne, aby obsługiwać powiększanie za pomocą klawiatury.
S. Tarık Çetin

@ S.TarıkÇetin zaktualizowane.
helena4

9

Przerwij ruch na dwa etapy

  1. Wybierz pozycję na płaszczyźnie 2D X / Z zlokalizowanej w bieżącej pozycji Y obiektu.
  2. Ustaw przesunięcie (w górę lub w dół) od tej płaszczyzny.

Jest to podobne do tego, w jaki sposób Homeworld , jedna z pierwszych gier 3D RTS w przestrzeni kosmicznej, obsługiwała ruch. Działa naprawdę dobrze.

Podział ruchu na dwa etapy zapewnia największą kontrolę, po prostu dlatego, że mysz jest urządzeniem wejściowym 2D. Może zapewnić pozycję tylko na jednej płaszczyźnie naraz. To samo można osiągnąć, łącząc dwa klawisze na klawiaturze w górę / w dół na osi Y.

Alternatywnie możesz użyć prawego przycisku myszy, aby przełączyć tryb. Na przykład lewy przycisk myszy uruchamia polecenie ruchu i przesuwa cel na płaszczyźnie X / Z, przytrzymując prawy przycisk myszy, aby zmienić pozycję osi Y.

wprowadź opis zdjęcia tutaj


Jak dotąd wydaje się to najbardziej logiczną opcją. Zaczekam jednak, na wypadek, gdyby ktoś wpadł na lepszy pomysł.
S. Tarık Çetin

2

Rób to, co robi EVE online: nie zezwalaj na klikanie i ruch! Uwaga

Robią to, że tworzą obiekty w przestrzeni i pozwalają kliknąć je prawym przyciskiem myszy (raycast lub what-not) i wybrać jedną z różnych opcji:

  • Idź do obiektu (z różnymi prędkościami)
  • Obracanie wokół obiektu (w różnych promieniach)

Dzięki temu możesz przenosić się tylko w odpowiednie miejsca.


Uwaga (jednak mogły się ostatnio zmienić. Nie grałem przez jakiś czas.)


Tak, to rozwiązuje problem, ale także niszczy aspekt gry, który tworzy ten problem.
S. Tarık Çetin

@ S.TarıkÇetin Yep! Może w ich przypadku było to najbardziej logiczne. I może nie dotyczy to twojej sytuacji.
Vaillancourt

Z tego co pamiętam, możesz kliknąć, aby przejść do Eve. Chodziło raczej o wybranie rodzaju kierunku,
MichaelHouse

W Eve są klawisze sterujące, których możesz użyć do sterowania statkiem, ale robiąc to, ograniczasz się do prędkości taktycznych (np. Latanie ze stacji kosmicznej na orbicie wokół Planety X do satelity, który również krąży wokół Planety X, może zająć minuta lub dwie; lot do księżyca Planety X za pomocą sterowania ręcznego zajmie co najmniej 5 minut). Podróż z dużą prędkością można rozpocząć tylko poprzez wybranie celu podróży.
Dan Henderson

3
Na tej podstawie istnieje technika unikania pościgu - zacznij latać do odległego celu, zatrzymaj się w połowie drogi, a następnie wybierz nowy cel w innym kierunku i ponownie zatrzymaj się w połowie drogi. Upuść „zakładkę” w tym odizolowanym miejscu, a następnie możesz zaatakować do tej zakładki po zaatakowaniu, a prześladowcy nie będą mogli latać z dużą prędkością w tym samym kierunku.
Dan Henderson
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.