با سلام
اسکریپتی به نام Render_Autosave برای اینکار وجود داره که توسط آقای
David Venables نوشته شده و مواقعی که نرم افزار کرش کرد و یا به هر دلیلی رندر ناتمام موند می تونی با این اسکریپت دوباره ادامه اش رو رندر بگیری ویا حتی بخشی از رندر رو انجام داده و بخش باقی مانده رو بعدا رندر کنی.
نحوه کارشم اینه که وقتی تصویر در حال رندر شدنه و در FrameBuffer مکس در حال ذخیره شدنه ، اتوماتیک آن بخش در محل مورد نظر کاربر نیز ذخیره شود.
البته من هنوز از این اسکریپت استفاده نکردم ولی دوستانی که استفاده کردن میتونن تجربشونو بگن.
اینم اسکریپتش:
(
Global AutosaveImg
fn dntTick =
(
Local Autosavedir = (getdir #autoback) + "\\" + "Rend_autosave.tif"
TIF.setType #color16
TIF.setAlpha #true
::AutosaveImg = getLastRenderedImage copyff
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/ توش آموزش هم داره
موفق باشید