Unity-ben premade Minecraft world?
Sziasztok!
Unityben szeretnék kockákból pl. egy max 500x500x100-as világot. Az lenne a kérdésem, hogy Unity mennyire bír el ennyi objectet?
És hogyan tudnám optimalizálni?
Tegyük fel, hogy csinálok egy Cube prefabot, amik Quadokból állnak. Egy kockából egyszerre maximum 3 quad látszódhat, szóval már ha a további takarásokat nem vesszük figyelembe, máris fele annyi quad van a játékban. Ezt meg lehet oldani skaláris szorzattal. Bár nem tudom, hogy ez mennyire megterhelő. Más megközelítésből azzal is lehetne csökkenteni a renderelt kockák számát, hogy induláskor megjelölöm az összes levegővel/vízzel érintkező kockát, és csak ezeket renderelem, majd ha például eltűnik egy látható block, akkor az összes körülötte lévő, eddig nem látható blocknak is szól, hogy mostantól renderelődj.
Szóval az érdekelne, hogy egy nem generált, kockákból álló világ rendelését hogyan lehetne optimalizálni.
Előre is köszi!
Azok kockákra melyek nem fognak mozogni,forogni,változtatni a méretüket alkalmazható a static batching.
Azok a kockák melyek nem látszanak épp azokat nem kell Kirajzolni(occlusion culling). Azok a területek amelyek nem változtathatóak legyenek egy objekt. Pl egy lépcsőt alkotó részek ne több hanem egy objektből álljanak. Ezt meg lehet csinálni valós időben is így addig amíg nem kell módosítani simán lehet egyesíteni a geometriáját ha pedig szét kell szedni csak visszaállítod. A static batching is egyesíti a geo... de csak statikus objektekre működik. Szal a fentebbi csak dinamikus objektekre alkalmazd.
Nem a háromszögek száma a szűk keresztmetszet, hanem hogy minden blokkot külön kezelnél így, rengeteg felesleges plusz munkát csinálna a cpu nak. A háromszögeket egy középkategóriás pc simán bírná frustum cullinggal is minden egyéb trükközés nélkül.
Hatékonyan ezt egy konkrétan erre a célra készült voxel enginennel lehetne csak megcsinálni, ahol az egész világ egyetlen monobehaviour ben futna, ha egyszerre behánynád az egészet 25m objektumot kéne kezelned - már a box colliderek miatt sanszos, hogy vállalhatatlan lenne a memóriahasználat, ha meg esetleg mindegyiken lenne egy-egy script akkor esélytelen, hogy bármilyen mai hardveren normálisan fusson.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!