Unity -ben Occlusion Culling helyett saját megoldás, mert az objektumok nem lehetnek statikussak?
Ahogy 1# írta ez elég specifikus.
Lehet, hogy ezt megtaláltad te is.
3 éves cikk, de kiindulásnak jó lehet, ha ilyesmit szeretnél csinálni.
Nem valószinű, hogy itt bárki is tudna érdemben ehhez hozzászólni.
Esetleg reddit unitys csoportjába rakd ki a kérdést ott nagyobb valószinűséggel többen tudnak hozzá szólni, mint itt.
Még a Quora-ra is kiteheted angolul a kérdésed.
2# -es, köszönöm a választ, ezt konkrétan még nem láttam.
Viszont felmerült egy sokkal komolyabb probléma, szóval most az occlusion culling a legkisebb gondom. :/ Egy egyszerűbb teszt során hamar kiderült, hogy a Unity nagyon rosszul kezeli a nagy mennyiségű objektumot az editoron belül. Konkrétan csontra fagy az editor, és tele lesz a 16GB RAM, ha megpróbálok sűrűn feltölteni objektumokkal 4 darab 10 000 x 10 000 egységnyi területet. Azért pont ennyit, hogy pozitív és negatív irányba is kihasználhassam a precíziós limitet X és Z síkon. Úgy tűnik, hogy ez nem járható út. Pedig direkt egy idő után elkezdtem editorban letiltogatni azokat az objektumokat, amiket már a helyükre pozícionáltam (sok kisebb objektum külön szülő objektumokba pakolva, majd egy idő után ezek is egy még nagyobb szülő objektumba), viszont ez csak az editorban lévő FPS –en javított, de egy örökkévalóság a projekt mentése, a Play módba való lépés, vagy onnan kilépés. Ráadásul ez rengeteg RAM –ot fogyaszt, a build verziót sem tervezném ennyire súlyosra. Bár a játék ha nagynehezen el tud indulni, láthatóan hozná a kellő mennyiségű FPS –t, ha sikerülne a build és elég lenne a RAM, de itt már teljesen megáll a folyamat, el sem jut a végéig.
Így hirtelen, amatőr fejjel, két megoldást látok. Az egyik az, hogy hagyom ezt az egész ötletet, hogy az egész térkép egyetlen jelenetben van, és elkezdem felépíteni azt sok kis különálló jelenetben. Ebben az esetben az új jelenet ott kezdődne, ahol az előző véget ért, de minden jelenet egy kicsit a széleken, újra tartalmazná a szomszédos jelenetek részeit is. A másik ötlet, hogy kell írnom saját megoldást, ami tárolt adatokból, vagyis kisebb, mentett fájlokból építi fel a világot futásidőben. Az editorban csak a szerkeszteni kívánt világ egy kisebb részét hoznám létre, majd amikor biztos vagyok benne, hogy ez így jó lesz, akkor lenne egy függvény, ami Play módban végigiterál az összes objektumon, és kiírja egy fájlba a hozzá tartozó információkat, hogy milyen transform adatok, milyen mesh, milyen material, stb. Ugyanígy hasonlóan működne a beolvasás. Az első megoldás egyszerűbbnek tűnik, a második hatékonyabbnak de nehezebbnek. Mondjuk, ha a Unity elég gyorsan tudna váltogatni a jelenetek között a beépített megoldással (gondolom minél kisebb egy jelenet, annál gyorsabb az átkapcsolás), akkor nyilván ezt preferálnám inkább. Hisz semmi sem garantálja, hogy a saját megoldásom zökkenőmentesebben töltögetné be az adatokat futásidőben, egyetlen nagy jelenetben.
Tudom, ez egy olyan probléma, ami lehet, hogy a gyakorlatban soha nem merül fel majd végül a saját játkomban (mert soha nem lesz olyan hatalams a világ), de amikor elkezdek valami új dologgal foglalkozni, akkor szeretek felkészülni a legrosszabb esetekre is.
Esetleg add egy kis ötletet a késöbbiekben ebbe is érdemes lehet belenézni.
https://www.youtube.com/watch?v=YOtDVv5-0A4
2#-es vagyok, nagyon minimálisan használtam csak a Unity-t. A tervem nekem is az volt, hogy valami nagyobb pálya legyen. Viszont mikor jött minnél több dolog: fák, fűvek és ezeket a szél mozgassa, illetve esetleg ha a játékos karakter megy akkor lenyomja a füvet stb. Ezt HDRP-vel, hogy szép megvilágítást lehessen elérni. Post-processing nagyon király, de sajnos annyira erőforrás igényes, hogy csak na. Valószinűleg aki nagyon régóta játékfejlesztő sokkal jobb az optimalizálásban. Tényleg csak néha néha nekiállok és csinálgatok magamnak ilyen teszt projekteket. Egyszer majd talán elkezdek valami nagyon egyszerű játékot, de még nagyon sokat kell tanulnom hozzá az biztos.
A gépem egy krumpli laptop amiben 8GB(ez bővíthető) i5 11. generációs procihoz tartozó integrált grafika van. Amin mindenféle elképzelés megvalósítása már fájdalmasan alacsony grafikán és kevés fps mellet lehetséges :D
Jó lenne tudni nekem is, hogy lehet a legtöbbet kihozni egy adott gépből. Amúgy a jelenetekre szétszedés ötlet legjobb. Sajnos ami projekt volt abban nem tudtam alkalmazni ezt a dolgot, hogy kisebb jelenetekre szedjem szét. Valószinűleg rossz volt a kiindulási alap.
Optimalizácóhoz kapcsolódóan annyi információt találtam, de az alkalmazásuk nem volt nekem egyszerű, egyértelmű.
A játék mentés és betöltés nagyon jó volt mikor sikeresen megvolt egy nagyon alap szkript amit sikerült összehoznom. Nekem 3D-s irány volt meg, de volt itt probálkozás egy kevés autós utána egy karakterrel mászkálós játék terrain-en(amit egy térképről leszedett magasságot akartam megvalósítani amire van több eszköz is, úgy ahogy működik)
Hátha téged is érdekel ide rakom a videót: https://www.youtube.com/watch?v=eD2Ojp98UK4
Megkérdezhetem, hogy milyen játékot szeretnél majd elkészíteni?
3D-s autós játékot vagy egy karakterrel mászkálósat, fegyveres, csak szimplán túlélős?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!