Buna ziua tuturor! Deja în ziua în care intru în forumuri, dar nici nu pot găsi întrebarea care mă interesează. Trebuie să creez o serie de cuburi în Unitate, de exemplu 15x15x15 = total 3375 de cuburi. După cum sa dovedit, un număr atât de mare de obiecte are un efect foarte puternic asupra performanței. Opțiunea - pentru a colecta toate într-o rețea nu este foarte potrivit pentru că cuburile sunt dinamice. Am început să mă deranjez cu Occlusion Culling. rezultatele sunt acolo, dar nu exact ceea ce am nevoie. Întreaga gamă de cuburi va fi în fața camerei. Tot ce aveam de-a face cu Culling este să ascund obiecte, adică. nu face, care sunt dincolo de sfera de aplicare a camerei, dar trebuie să ascund obiecte care sunt în sfera de aplicare a camerei, dar suprapuse de alte obiecte. Nici nu pot obține un astfel de rezultat. Dacă obiectele sunt făcute statice și includ coacerea, atunci totul funcționează așa cum am nevoie, iar obiectele create la runtime nu sunt tratate de optimizatorul Occlusion Culling. Este aceasta de fapt făcută pentru obiecte dinamice? Dacă este realist, vă rugăm să descrieți acest proces și ce nuanțe există în acest sens. În off-dock, am dedus că puteți face acest lucru, dar aceasta este o teorie, dar în practică poate fi destul de diferită. Eu folosesc Portalul ocluziei și ocluzia. Zona de ocluzie se întinde spre întreaga zonă unde am o cameră și o mulțime de cuburi, Portalul Occlusion se întinde numai în zona în care va fi matricea. Am încercat să folosesc un portal pentru fiecare cub, dar și rezultate zero. Nu face doar acele cuburi care depășesc sfera camerei.
Că nimeni nu a întâmpinat o astfel de sarcină? Pe acest forum problemele au fost rezolvate și este mult mai dificil ...
Toate cuburile nu se vor mișca în același timp, undeva în jur de 20% din totul va fi în mișcare și apoi cu o anumită periodicitate. Încerc încă o dată în mod clar descrie programul de activitate este creat în scenă trei-dimensionale matrice (matrice) de blocuri. Dimensiunea matricei este de aproximativ 15x15x15. Pe o parte a acestei matrice este o cameră. Întreaga matrice intră în cameră. Acum, fără optimizare prestate întreaga matrice, de asemenea, am nevoie de ele pentru a face în cazul în care între cuburi și linia de vedere a camerei, acele cuburi care se suprapun peste cuburile din față și camera nu vede-le, Render pentru a le ignora. Poate că fac ceva greșit sau nu este real. Opțiunea - opriți randamentul la o anumită distanță în această sarcină nu este aplicabilă. Camera va rămâne mereu în poziție, iar cuburile se vor deplasa numai vertical și în interiorul dimensiunilor matricei.
În cazul obiectelor de 3k, veți fi salvate pur și simplu prin intermediul unei încărcări dinamice.
Ca opțiune, puteți dezactiva obiectele printr-o rafală, porniți un fascicul din cameră și urmăriți-l la intersecția cu alții
pod4444 a scris: în cazul obiectelor 3k, vei fi salvat pur și simplu de o încărcare dinamică.
Ca opțiune, puteți dezactiva obiectele printr-o rafală, porniți un fascicul din cameră și urmăriți-l la intersecția cu alții
Nu salvează loturile, va consuma un procent, împreună cu FPS. Este mai bine să tăiați obiectele la o anumită distanță și să le înlocuiți cu o ceață.
Nu-ți fie frică, dacă ești singur, fii speriat dacă nu ești.
BornFoRdeatH a scris:
Nu salvează loturile, va consuma un procent, împreună cu FPS. Este mai bine să tăiați obiectele la o anumită distanță și să le înlocuiți cu o ceață.
Am scris, în cazul de obiecte 3k nu vor mânca, numai pe obiective slabe pot fi, pe un ansamblu normal de PC totul va fi în regulă
Cum sunt construite grafica Înțeleg. Vă mulțumesc pentru soluție, voi încerca, dar întrebarea rămâne deschisă. Aici este docul, unde este clar că Occlusion Culling se ascunde de obiectele de redare care sunt ascunse de camera foto de alte obiecte.
Poate că nu înțeleg ceva din documentația scrisă în Unitate.
Nu încerc să dovedesc nimic cuiva, vreau doar să aflu de ce un lucru este scris și altul se dovedește. Încerc să fac așa-numita tăiere portal a obiectelor dinamice cu Occlusion Culling + Occlusion Portal