Sprawdzenie możliwości ruchu?
Aktualny czas: 28-04-26, 18:35 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VXAce] Sprawdzenie możliwości ruchu?
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #1
Sprawdzenie możliwości ruchu?

Czy zna ktoś może sposób na sprawdzenie, czy dane zdarzenie nie może się ruszyć w określonym kierunku? Albo na to, czy przed zdarzeniem lub bohaterem znajduje się "klocek" czy kilka klocków nie do przejścia? :ehe:

Może i dziwne pytanie, ale jestem trochę znużony ciągłą sytuacją tego typu:
[Obrazek: 8055141c12.jpg]

A sprawdzanie każdej współrzędnej trochę by zajęło. :shock:

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
18-02-15 12:44
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #2
RE: Sprawdzenie możliwości ruchu?

Ten screen obrazuje sytuację, z której jakieś zdarzenie zbliża się do gracza? Pewnie sposób istnieje (algorytm dijkstry / A*?), ale opisz dokładniej, jaki problem chcesz wyeliminować.

[Obrazek: aye_furniture_pres.png]
18-02-15 12:48
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #3
RE: Sprawdzenie możliwości ruchu?

Ogólnie chodzi mi o umieszczenie nieco bardziej rozgarniętych stworków na mapie. :ehe: Konradki nie musiały być specjalnie bystre (:kiti: w sumie nawet pasowało), ale w nowym projekcie zmagam się z potworami wchodzącymi w ściany.

Zwyczajnie podążają za bohaterem, ale jeżeli on stanie za przeszkodą, to one za nic jej nie ominą. Do tej pory musiałem sprawdzać każde współrzędne dookoła obiektu, bo innego sposobu nie znałem. :ehe:
Dlatego chciałbym jakoś sprawdzić, czy coś przed nimi nie stoi. :co: A jeżeli się nie da, będę musiał znaleźć inny sposób. :aww:

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
18-02-15 12:51
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #4
RE: Sprawdzenie możliwości ruchu?

Uściślijmy. Chcesz, aby stwór idący w kierunku bohatera (move toward player) był bardziej myślący i omijał przeszkody. Czyli potrzebujesz "sprytniejszego" rozwiązania tego polecenia, tak? Czy osobnych warunków sprawdzania, bo np. chcesz jeszcze wyświetlić tekst, jak wejdzie na ścianę?

[Obrazek: aye_furniture_pres.png]
18-02-15 12:58
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #5
RE: Sprawdzenie możliwości ruchu?

Chciałbym żeby wybrane zdarzenie najzwyczajniej omijało przeszkody. smiles Ale jeżeli istnieje też sposób na sprawdzenie czy x kratek od (głównego)bohatera jest jakaś przeszkoda na której nie może on stanąć, byłoby świetnie.
To drugie przydałoby mi się przy przechodzeniu przez obiekty, ale jednocześnie zablokowaniu przechodzenia przez ściany jeżeli nic za nimi nie ma. :ehe: Nie wiem czy zrozumiale tłumaczę.
Może przejść przez obiekt.
Nie może przejść przez obiekt.

Ogólnie chodzi mi o omijanie przeszkód. To drugie to tylko opcjonalny dodatek, którego nawet dobrze nie przemyślałem. :ehe:

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
(Ten post był ostatnio modyfikowany: 18-02-15 13:06 przez Yoroiookami.)
18-02-15 13:04
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #6
RE: Sprawdzenie możliwości ruchu?

Jeszcze jedno... W jaki sposób poruszasz zdarzeniami. Używasz auto movement (approach), czy set move route?

[Obrazek: aye_furniture_pres.png]
18-02-15 13:26
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
X-Tech Offline


Liczba postów: 876
Dołączył: 03-05-13

Pomógł: 23



Post: #7
RE: Sprawdzenie możliwości ruchu?

Sporo mam pomysłów na to jeden z nich to strzelanie niewidzialnymi pociskami i sprawdzanie dokad doleca inny to sprawdzanie koordynat zioma i porownywanie starych z nowymi co okr. czas.
18-02-15 13:30
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #8
RE: Sprawdzenie możliwości ruchu?

(18-02-15 13:26)Ayene napisał(a):  Jeszcze jedno... W jaki sposób poruszasz zdarzeniami. Używasz auto movement (approach), czy set move route?
Preferuję "set move route", bo zwyczajnie wygodniej mi manipulować zachowaniem. smiles

(18-02-15 13:30)X-Tech napisał(a):  Sporo mam pomysłów na to jeden z nich to strzelanie niewidzialnymi pociskami i sprawdzanie dokad doleca inny to sprawdzanie koordynat zioma i porownywanie starych z nowymi co okr. czas.
Też dobry pomysł, tylko chyba troszkę czasochłonny. Idzie na plan B. :aww:
(No i sprawdzanie koordynatów już próbowałem, zwyczajnie za dużo tego :ehe: )

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
(Ten post był ostatnio modyfikowany: 18-02-15 13:36 przez Yoroiookami.)
18-02-15 13:35
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #9
RE: Sprawdzenie możliwości ruchu?

OK. A możesz zrobić mi na szybko demo z najczęstszym problemem? Łatwiej będzie mi sprawdzić algorytm.

@X-Tech, oczywiście, że można na okrętkę. Ale po co, skoro do znajdywania najkrótszych ścieżek służą opracowane do tego algorytmy, np. A*.

[Obrazek: aye_furniture_pres.png]
18-02-15 13:40
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #10
RE: Sprawdzenie możliwości ruchu?

Nie wiem zbytnio co umieścić w tym demie. :ehe: Póki co zdarzenia mam dosyć proste, bo do tej pory błąd z utykającymi potworami rozwiązywałem tym, że po pewnym czasie gonitwy po prostu się poddają.
https://www.sendspace.com/file/6l1uer
Problemem jest, że wystarczy że gracz chociaż trochę wyprzedzi/przechytrzy zdarzenie, a ono staje jak kołek. Zwykle dzieje się tak przy pojedynczych przeszkodach tego typu. (Kolumny, słupki itp.)
Nie wiem, czy to w ogóle w czymś pomoże? :co:

Niby jest opcja "ignoruj ruch niemożliwy" dla zdarzeń, czy jak to tam, ale zamiast wybrać inny kierunek, one zwyczajnie stoją.

[Obrazek: mt4dzY7.png]
[Obrazek: k5KQGOe.png]
(Ten post był ostatnio modyfikowany: 18-02-15 13:57 przez Yoroiookami.)
18-02-15 13:52
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.