متوقف کردن رندر وی ری و ادامه آن

morteza-max

New Member
سلام دوستان گرامی.آیا امکان متوقف کردن رندر وی ری و ادامه آن وجود دارد؟امکان ادامه رندر پس از بستن نرم افزار وجود دارد؟
 

mohammad@er

Well-Known Member
سلام !

خیر متسفانه !

ولی اگر سیستمتون رو های برنات کنید می تونید کل عملیات در حال انجام رو از همون جا به صورت خودکار ذخیره کنید و به محض روشن شدن سیستم ادامه عملیات از سر گیری کنید !
 

Hidden Dragon

کاربر فعال
با سلام،

اینکه آیا مثل Scanline یا مکسول روش مستقیمی برای اینکار وجود داره یا نه مطمئن نیستم اما روشی رو که بر اساس تجربه بهش رسیدم خدمتتون عرض میکنم شاید مفید باشه،

اگر از سیستمی استفاده میکنید که رندر هایی با زمان پردازش بالا رو انجام میده و میدونید این احتمال وجود داره که برای انجام کار دیگه با این سیستم ممکنه مجبور به توقف محاسبات

وی ری بشید و نخواهید تمام اونچه که پردازش شده از دست بره میتونید این مراحل رو طی کنید

1- IM و LC رو بصورت مجزا ذخیره کنید و بعد برای رندر نهایی اونها رو Load کنید ( به اینصورت زمانی که برای محاسبات Gi صرف شده از بین نخواهد رفت )

2- در تب Settings قسمت Render region division گزینه region sequence رو از حالت Default تغییر بدید ( اگر تصویر شما افقی هست از گزینه Left to right و اگر عمودی هست از گزینه Top/ bottom استفاده کنید )

دلیل اینکار اینه که بعدا قصد داریم از گزینه Regon برای ادامه رندر ها استفاده کنیم و چون با اینکار رندر نظم بیشتری پیدا میکنه و هماهنگ تر با شکل چهار گوش Region میشه در مراحل بعدی کار رو برای ما راحت تر میکنه

3- ابعاد Bucket رو کاهش بدید بعنوان مثال 16*16 ( اینکار ممکنه مقدار خیلی کمی زمان رندر رو افزایش بده اما حجم اطلاعاتی که بر اثر توقف ها مکرر رندر و Crop کردن تصویر از دست خواهد رفت بسیار کم میشه )

4- از Vray frame buffer استفاده کنید

5- رندر رو شروع بفرمایید

6- هر کجا نیاز شد رندر رو کنسل بفرمایید

7_ از گزینه History موجود در Vray Frame Buffer استفاده بفرمایید و بخش رندر شده رو در History قرار بدید ( البته برای بار اول باید تنظیمات مربوط به فولدر History رو انجام بدید ) و برای محکم کاری تصویر رندر شده رو هم با فرمت TGA ذخیره بفرمایید ( 24Bit بدون آلفا , 32Bit با آلفا بسته به نیاز شما)

8- حالا فایل مکس رو ذخیره کنید

9- میتونید فایل رو ببندید و به کارهای دیگتون برسید

10- برای ادامه فایل مکس رو مجددا باز بفرمایید

11- از طریق تنظیمات رندر پنجره VFB ( فریم بافر وی ری ) رو باز کنید و از طریق History آحرین رندر موجود در Hisrory رو روی کانال A در داخل فریم بافر قرار بدید و با استفاده از ابزار Region بخشی که هنوز رندر نشده رو انتخاب کنید

12- رندر رو ادامه بدید

13_ هر وقت نیاز شد میتوند مراحل 6 الی 12 رو تکرار بفرمایید

14_ تنها بخاطر داشته باشید در مراحلی که از Region استفاده میکنید قبل از قرار دادن تصویر در History باید Region رو غیر فعال کنید تا تمام تصویر داخل History قرار بگیره، البته در صورت بروز هر نوع مشکل میتونید تصاویر TGA رو

در نرم افزاری مثل فتوشاپ با هم مونتاژ کنید

15_ این لیست طولانی شما رو دلواپس نکنه به هنگام اجرا کمتر از یک دقیقه وقتتون رو میگیره

امیدوارم مفید بوده باشه

موفق باشید
 

rezadogar

Member
برای هایبرنیت کردن وجود داره
در برنامه Process Explorer روی 3dsmax.exe راست کلیک کنید Suspend رو کلیک کنید ویندوز رو Hibernate کنید، دفعه بعد که سیستم رو روشن کردید در برنامه Process Explorer روی 3dsmax.exe راست کلیک Resume رو کلیک کنید تا ادامه رندر انجام بشه
 
آخرین ویرایش:

mht8181

Member
با سلام
اسکریپتی به نام Render_Autosave برای اینکار وجود داره که توسط آقای David Venables نوشته شده و مواقعی که نرم افزار کرش کرد و یا به هر دلیلی رندر ناتمام موند می تونی با این اسکریپت دوباره ادامه اش رو رندر بگیری ویا حتی بخشی از رندر رو انجام داده و بخش باقی مانده رو بعدا رندر کنی.
نحوه کارشم اینه که وقتی تصویر در حال رندر شدنه و در FrameBuffer مکس در حال ذخیره شدنه ، اتوماتیک آن بخش در محل مورد نظر کاربر نیز ذخیره شود.
البته من هنوز از این اسکریپت استفاده نکردم ولی دوستانی که استفاده کردن میتونن تجربشونو بگن.
اینم اسکریپتش:
(

Global AutosaveImg





fn dntTick =


(



Local Autosavedir = (getdir #autoback) + "\\" + "Rend_autosave.tif"


TIF.setType #color16


TIF.setAlpha #true


::AutosaveImg = getLastRenderedImage copy:eek:ff


AutosaveImg.gamma = 2.2


AutosaveImg.filename = Autosavedir


Save AutosaveImg


)


Global dnetTimer = dotnetobject "system.timers.timer" (2*60*1000)


dotnet.addEventHandler dnetTimer "Elapsed" dntTick


callbacks.removeScripts id:#RenderAutoSave


callbacks.addScript #preRender "dnetTimer.start()" id:#RenderAutoSave


callbacks.addScript #postRender "dnetTimer.stop()" id:#RenderAutoSave

)



فقط در خط زیر به جای getdir#autoback باید محل ذخیره سازی رو تعیین کنید و Rend_autosave.tif که نام اون و فرمتش هست.
قسمت (Global dnetTimer = dotnetobject "system.timers.timer" (2*60*1000 هم فواصل زمانی است ذخیره سازی رو مشخص میکنه که در این حالت رو 2 دقیقه است و اگر بخواهید مثلا 5 دقیقه باشه باید به جای 2 عدد 5 رو قرار دهید.
در آخر هم این اسکریپت رو در قسمت 3ds max \scripts\startup باید ذخیره کنی که دائمی باشه.
به گفته سازنده این اسکریپت برای تمام موتور رندرهایی که framebuffer دارن جواب میده.
اینم آدرس سایتش http://jamiecardoso-mentalray.blogspot.com/ توش آموزش هم داره
موفق باشید


 

جدیدترین ارسال ها

بالا