FiveM Kalkulator dystansu 3D

Obliczaj odległości 3D i 2D między dwoma zestawami współrzędnych. Uzyskaj szacowany czas podróży i gotowy do użycia kod Lua.

Punkt A

Punkt B

Do czego służy to narzędzie

Odległości decydują o tym, kiedy renderowany jest marker, kiedy możliwa staje się interakcja i kiedy pętla może przejść w stan uśpienia. Błędy w tym zakresie to jedna z najczęstszych przyczyn spadków klatek przez skrypt. Ten kalkulator podaje odległość 3D i 2D między dwoma punktami oraz generuje porównanie w formie najbardziej optymalnej pod kątem wydajności.

Jak tego używać

  1. Krok 1:

    Wprowadź oba punkty, na przykład pozycję gracza i cel interakcji.

  2. Krok 2:

    Odczytaj odległość 3D dla wszystkiego z różnicą wysokości, a odległość 2D, gdy liczy się tylko płaszczyzna podłoża.

  3. Krok 3:

    Wyprowadź z tego swój promień sprawdzania. Marker na 20 metrach, a komunikat interakcji na 2 metrach to powszechny schemat.

  4. Krok 4:

    Skopiuj linijkę Lua. Używa ona odejmowania wektorów, co jest szybsze niż Vdist.

Często zadawane pytania

Czy używać #(a - b) czy Vdist?

Używaj #(a - b). To natywna arytmetyka wektorowa w środowisku wykonawczym Lua, podczas gdy Vdist to funkcja natywna gry, a każde wywołanie native wiąże się z narzutem. W pętli wykonywanej co klatkę różnica jest zauważalna.

Kiedy odległość 2D jest właściwa?

Zawsze wtedy, gdy wysokość nie powinna mieć znaczenia, na przykład w przypadku strefy obejmującej wszystkie piętra budynku lub znacznika na zboczu. Przy dystansie 3D gracz piętro wyżej wypada ze strefy, co wygląda jak błąd.

Jak uniknąć sprawdzania odległości w każdej klatce?

Używaj dwuetapowej pętli. Ustaw opóźnienie 1000 ms, gdy gracz jest daleko, a dopiero gdy znajdzie się w promieniu zewnętrznym, przełącz na pętlę 0 ms dla właściwej interakcji. Samo to obniża obciążenie większości skryptów z kilku milisekund do niemal zera w stanie bezczynności.

Czy mogę zamiast tego porównywać kwadraty odległości?

Tak, i pozwala to zaoszczędzić pierwiastkowanie. Porównuj #(a - b) z podniesionym do kwadratu progiem tylko wtedy, gdy podnosisz do kwadratu również próg. Jest to prawdziwa optymalizacja wyłącznie w pętlach po wielu bytach, w przeciwnym razie wygrywa czytelność.