Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Nieskończona mapa w Unity3D


Rekomendowane odpowiedzi

Opublikowano

Nie da się.

Możesz jedynie zrobić taki, który może się rozrastać tylko tam gdzie trzeba, przez co wydaje się, że jest nieskończony, zajmując jednocześnie rozsądne ilości pamięci.

W dodatku nie da się osiągnąć nieskończenie wielkiego świata. Może być duży, ale nie nieskończony.

Opublikowano

też prawda, ale i tak kwadratowa (nieskończona) mapa to jest

 

//edit

Można też zrobić, że będzie się rozrastać w tym kierunku gdzie postać podąża i mniej pamięci będzie potrzebować :D

tak tak wm to samo, co napisał @Sopelek997

 

Nie da się.

Możesz jedynie zrobić taki, który może się rozrastać tylko tam gdzie trzeba, przez co wydaje się, że jest nieskończony, zajmując jednocześnie rozsądne ilości pamięci.

W dodatku nie da się osiągnąć nieskończenie wielkiego świata. Może być duży, ale nie nieskończony.

Opublikowano

a jakby miał zasięg widoczności na np. 50 kroków, a z tyłu by widział tylko na długość 10 kroków?

 

oczywiście przyjmując że idzie 'do przodu'

<>

Opublikowano

a jakby miał zasięg widoczności na np. 50 kroków, a z tyłu by widział tylko na długość 10 kroków?

 

oczywiście przyjmując że idzie 'do przodu'

 

A jak przechowasz unikalną pozycję dla każdego miejsca?

W pewnym momencie skończą ci się unikalne wartości jakie możesz przechować w pamięci i mapa zacznie się powtarzać. Wtedy nie można powiedzieć, że jest nieskończona, wtedy jest cykliczna, podobnie jak nasza planeta (chodzi o to, że nasza planeta nie jest nieskończona, a przecież można iść ile się chce).

 

Przy użyciu zwykłego komputera nie można mówić o nieskończoności w sensie ilości (wartości jak najbardziej).

Opublikowano

A jak przechowasz unikalną pozycję dla każdego miejsca?

W pewnym momencie skończą ci się unikalne wartości jakie możesz przechować w pamięci i mapa zacznie się powtarzać. Wtedy nie można powiedzieć, że jest nieskończona, wtedy jest cykliczna, podobnie jak nasza planeta (chodzi o to, że nasza planeta nie jest nieskończona, a przecież można iść ile się chce).

 

Przy użyciu zwykłego komputera nie można mówić o nieskończoności w sensie ilości (wartości jak najbardziej).

 

zalozmy ze generator mapy to generator liczb pseudolosowych, ktory przyjmuje jedna liczbe jako seed, i z tego seeda generuje iles tam klockow, zakladajac ze bedziemy zapisywac same liczby, i np zrobimy swoj wlasny system liczbowy, i do generatora wrzucac tylko specyficzne liczby, to na stosunkowo malej przestrzeni dyskowej mozemy zapisac stosunkowo duzo danych, prawdziwej nieskonczonosci nie uzyskasz, ale mozesz uzyskac takie zludzenie, ciagle generujac cos nowego, moze przeplatajac to co juz bylo wczesniej

Opublikowano

zalozmy ze generator mapy to generator liczb pseudolosowych, ktory przyjmuje jedna liczbe jako seed, i z tego seeda generuje iles tam klockow, zakladajac ze bedziemy zapisywac same liczby, i np zrobimy swoj wlasny system liczbowy, i do generatora wrzucac tylko specyficzne liczby, to na stosunkowo malej przestrzeni dyskowej mozemy zapisac stosunkowo duzo danych, prawdziwej nieskonczonosci nie uzyskasz, ale mozesz uzyskac takie zludzenie, ciagle generujac cos nowego, moze przeplatajac to co juz bylo wczesniej

O to mi właśnie cały czas chodzi. Wiem jak to działa, mam jakieś tam doświadczenie z tym.

Opublikowano

Jest możliwość stworzenia prawdziwie nieskończonej mapy.

 

y = f(x,z)

 

gdzie x i z to współrzędne a y to wysokość terenu w danym punkcie. Jest to więc kwestia opracowania odpowiedniej funkcji. Nic nie trzeba nigdzie zapisywać, jeśli systematycznie będziemy porzucać fragmenty terenu znajdujące się w odpowiednio dużej odległości od kamery to pamięć nie skończy się nam nigdy.

pasek_4oo_6o.jpg

Aktualny poziom zła: 75 punktów ostrzeżeń.
Achievements:
  • 22 zajebiste posty oznaczone czerwonym kółeczkiem
  • 1 urażony modek - dwa razy! (Istny Diabeł)
  • 4365 userów forum, którym powiedziałem smutną prawdę
Opublikowano

O ile sama mapa może nie stwarzać większych problemów (jeżeli przechowujesz coś w chunkach, które później ukrywasz i wyświetlasz kiedy ich potrzebujesz), tak Vector3 postaci może po jakimś czasie trochę nabrudzić. Goście od Kerbal Space Program mieli problemy z za małym Vector3. 

Opublikowano

Jest możliwość stworzenia prawdziwie nieskończonej mapy.

 

y = f(x,z)

 

gdzie x i z to współrzędne a y to wysokość terenu w danym punkcie. Jest to więc kwestia opracowania odpowiedniej funkcji. Nic nie trzeba nigdzie zapisywać, jeśli systematycznie będziemy porzucać fragmenty terenu znajdujące się w odpowiednio dużej odległości od kamery to pamięć nie skończy się nam nigdy.

Przecież x i z musisz gdzieś trzymać ;s

708121422388637873334.png

Opublikowano

Przecież x i z musisz gdzieś trzymać ;s

for(x = player.x - 20; x < player.x + 20; x++)

for(z = player.z - 20; z < player.z + 20; z++)

map[x][z] = f(x,z)

 

pseudokod

Nie pomagam na PW, od tego macie forum!!!

 

#PHP-things

 

 

08FMpDu.png

 

Opublikowano
for(x = player.x - 20; x < player.x + 20; x++)

for(z = player.z - 20; z < player.z + 20; z++)

map[x][z] = f(x,z)

 

pseudokod

 

ale nie możesz trzymać nieskończenie wiele różnych wartości. W pseudokodzie to wszystko można.

W pewnym momencie albo stracisz precyzję, albo 'przekręcisz' liczbę.

Opublikowano

Mówimy o nieskończonej mapie czy niepowtarzalnej(każdy chunk inny)? Jeśli pierwsze to nic nie przeszkadza żeby początek(0,0) wyglądał tak samo jak koniec((MAX_INT, MAX_INT)/ (MAX_FLOAT, MAX_FLOAT))

Nie pomagam na PW, od tego macie forum!!!

 

#PHP-things

 

 

08FMpDu.png

 

Opublikowano

cykliczność imo wyklucza nieskończoność chociaż jak kto to interpretuje.

 

Przynajmniej uniemożliwi to zapisanie tej mapy, bo nie odróżnisz przy zapisie tych pozycji, więc jest jakiś problem.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...