Няма памет при изобразяване на V-ray
Казвам се Иля, известен още като iLyxa. Занимавам се с CG повече от 5 години. Живея и работя в Киев. В този урок искам да говоря за това как да извърша висококачествено рендиране в 3d Studio Max + VRay, когато компютърните ресурси не го позволяват.
Съвсем наскоро, докато изобразявах интериора на стая, се натъкнах на проблема с липсата на RAM при изобразяване на vray. И намерих решение, което сега ще представя на вашето внимание.
Сцената представляваше интересна комбинация от хол, хол и кухня. Всичко това заемаше повече от 100 кв.м. Всички абсолютни мебели са направени в класически стил + имаше пердета и завеси на всички прозорци. Имаше и 3 огромни полилея със стотици малки парчета стъкло и няколко дузини електрически крушки на всеки.
ОБЩО: 3 милиона полигони и 2 милиона геометрии присъстваха едновременно в сцената. Файлът*.max беше около 100 MB некомпресиран.
„НЕОБРАБОТЕНО ИЗКЛЮЧЕНИЕ: Грешка при разпределението на паметта; …” познато съобщение за грешка на VRay. Имах късмета да го видя само при изобразяване на сцена с най-простите vray настройки и при разделителна способност на картината 320x240. Когато задавах нещо повече, 3D Studio Max 9 SP2 просто се затваряше по време на рендирането на Global Illumination или още по време на чертането на самото изображение и се изписваше съобщение за грешка в C:/vraylog.txt.
Хардуерът, на който е извършено рендирането:
Intel Core Quad Q6600 2.4 Ghz (това е 4 ядра)
4 памети по 1Gb DDR-II 800Mhz + 3Gb суап файл.
Видео карта Asus GeForce 8600 GTS 256Mb
Windows XP 32bitL
За съжаление, както по-късно се оказа на практика, Windows XP 32bit не може да използва напълно повече от 2,7 Gb RAM, така че моите 4 GB RAM просто се разхождаха.
Ще опиша моето решение на проблема по-късно, но първо: има няколко прости стъпки, които могат да разрешат проблема с паметта.
Активирането на опциятаАвтоматично създаване на проксита автоматично ще създаде изображение на мястото на експортирания обект. Ако обектът, който конвертирате в прокси, се състои от повече от 1 милион полигони, тогава грешката за недостиг на памет вероятно ще се появи отново.
Един от най-простите начини за решаване на проблема е даскриете (Hide) всички обекти в сцената, които не са в зрителното поле на камерата. Трябваше да го използвам многократно, но без много удоволствие, когато изобразих например 10 изгледа на една сцена, беше необходимо да премахна / добавя обекти на сцена за всяка камера, да наблюдавам отразяващи повърхности.
Нашият проблем, ако го погледнете директно, е, че в началото на изобразяването на сцената vray иска от windows да разпредели например 10Gb RAM, както беше в моя случай, но това не е възможно, поради което възниква грешка в приложението или някакъв модул. Понякога се появява грешка на различни етапи на изобразяване - грешни изчисления на картите на глобалното осветление, изместване, фотони, проследяване на лъчи ...
Разработчиците наVray предоставиха решение в такава ситуация -Dynamic Memory, но по някаква причина не работи нормално за мен.
Зададох лимита наДинамична памет, като наблюдавах количеството RAM, използвано през диспечера на задачите, преди рендиране и по време на грешка или автоматично затваряне на Макс. Сега vray иска от операционната система точно толкова ресурси, колкото са ѝ необходими на определен етап, и ние задаваме критичен лимит. При мен не работи с всички 3D сцени, а когато се получи, изобразяването беше изключително бавно.
Ако описаните по-горе методи не са се отървали от грешката и няма къде да вмъкнете допълнителни ленти с памет:
И така, основната част.
Този метод на изобразяване не ускори процеса, но все пак позволи да се получи изображение 2500x1500 при наличие на 3 милиона полигона в сцената, с високи настройки за качество на изобразяване на изображението.
-
СтартирайтеBackburner Manager. Обикновено се инсталира с инсталацията на 3DS Max.
Ако се появи прозорецът с настройки, просто щракнете върху OK, съгласни сме със стандартните настройки.
СтартирамеBackburner Server, той се намира в същото меню.
В настройките премахнете отметката отАвтоматично търсене и въведете своя локаленIP 127.0.0.1.
По този начин мениджърът работи на вашия компютър, готов да приеме задача за рендиране от 3D Max и да изпрати част от задачата на сървъра за обработка. Това е разделянето на задача от 2500x1500 на части, например, което ще позволи на почти всеки хардуер да обработва сцени с повишена сложност. Има иBackburner Monitor за визуално проследяване на протичащия процес (работи по желание).
Отворете сцената си в 3D Max, задайте желаните настройки за рендиране и най-важното, проверетеNet Render в настройките, което ще ви позволи да изпратите задача за рендиране доBackburner Manager, а не да го правите сами.
ВRender Output укажете къде да запишете резултата, ако е необходимо.
Всички ивици се записват в папката, където сте указали да запазитеRender Output, и след това се обединяват в едно изображение, когато процесът приключи. Готово
Това е!
Надявам се, че този урок ще ви позволи да получите нещо, което не е било налично преди. Единственият въпрос е времето.