رسول دانش
کارشناس الکترونیک و شبکه

تجربه برطرف کردن مشکل سخت افزاری رندر کردن در انیمیشن سازی

چگونه مشکل سخت افزاری Render کردن انیمیشن را حل کنیم؟ سلام ، چند وقت پیش با یکی از شرکتهایی که قرارداد بسته بودم برای شبکه وارد داستان ساخت انیمیشن شدم و مشکلات سخت افزاری اون و بحث رندرینگ شدم.... البته من این داستان رو بیشتر از لحاظ سخت افزاری بررسی می کنم و زیاد وارد مباحث نرم افزاری و محاسباتی نمیشم و فقط تجارب خودم رو مینویسم . قبل از نوشتن این مطلب به چند تا سایت سر زدم تا ببینم اونها چه تعریفی از رندرگیری و رندر کردن داشتن که دیدم نوشتن : رندرینگ به فرایند نمایش تصاویر اجسام سه‌بعدی (3D) برروی صفحهٔ نمایشگر دوبعدی گفته می‌شود.تعریف خوبیه اما گفتم که یک توضیح خودمونی تر هم من بدم . به تصویر زیر نگاه کنید .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
3dmax

اگر به مبل ها یا پله ها نگاه کنید می بینید که چطور با سایه روشن ها و کم رنگ و پر رنگ شدن قسمتهایی از تصویر مبل و پله ، 3 بعدی بودن مبل و بالا و پائین بودن پله رو به ما القا میکنه و برای ما کاملا مشخص است که کجا پائین و کجا بالا یا کجاها عقب و کجاها جلوتر هستند .یا به انعکاس نور و محیط بیرون در گوی های سمت چپ تصویر نگاه کنید ....تمامی این سایه روشن ها و انعکاس نورها در رندر کردن انجام میشه تا تصویری از 3 بعدی بودن محیط و جسم در ذهن ما مجسم بشه...

و اما تجربه من از ساخت و مراحل یک انیمیشن یا فیلم 5 دقیقه ای :

خلاصه ای از این فیلم رو بخواهم بگم باید عرض کنم که این فیلم تبلیغاتی مربوط به یک هتل بود که هنوز ساخته نشده بود و باید به مشتریانی که میخواستن در ساخت این هتل سهیم باشن ارائه میشد و شرکت سازنده میخواست کسانی که میخواستن در پروژه سرمائه گذاری کنند بدونن که هتل به چه شکلی در میاد و شرکت سازنده ایده ها و مشخصات رو توضیح بده و طراحی ها رو به نمایش بگذاره و فیلم از نگاه یک مهمان هتل بود که با ماشین تا درب ورودی هتل میومد و بعد وارد هتل میشد و در قسمت لابی دوری میزد و به طبقات و اتاقها سرکشی میکرد.....

کار طراحی از اینجا شروع شد که چند طراح ، طرح کلی و اولیه رو با مداد روی کاغذ کشیدند . این نقاشی های سیاه و سفید با اسکنر به کامپیوتر منتقل شد و چند اتوکد کار ماهر این نقاشیهای روی کاغذ رو به نقشه های دو بعدی در اتوکد تبدیل کردن و تنظیمات و تصحیحات رو روی اون انجام دادن و نقشه اتوکد رو به بچه های واحد طرحی سه بعدی که با 3ds max کار میکردند تحویل دادند ... بعد از اینکه نقشه ها به مکس منتقل شد ، بچه های طراحی سه بعدی شروع کردنند به تجهیز فضای هتل و برای اون میز و صندلی و کافی شاپ و لابی و اتاق و تخت و .... کشیدند .البته این بچه ها یک سری اساسیه آماده داشتند مثلا توی هاردشون 100 مدل صندلی یا 500 مدل مبل یا 1000 مدل تخت داشتن که اینها رو توی تصویر میچیدند و اگر هم اساسیه موجود با هم مچ نمی شدند دست به دامن اینترنت میشدند و از اینترنت دانلود میکردند یادم میاد برای یک کپسول آتش نشانی یک روز دنبال یک عکس خوب میگشتن...بعد از چیدن همه این اساسیه ها کنار هم ، شروع به نورپردازی و گذاشتن چراغها و لامپها و نورها میکردن .... بعد از چیدن همه اینها کنار هم ، یک عکس درست میشد که برای ساختن هر ثانیه از فیلم باید حداقل 25 عدد از این عکسها رو کنار هم میساختن ( البته تیم طراحی روی کاغذ ، اصرار داشت که برای هر ثانیه 30 عکس یا فرم ساخته بشه که نمیشد ، که بعدا دلیلش رو میگم....) بین این دوتا تیم طراحی روی کاغذ و طراحی سه بعدی همیشه دعوا و بحث بود ...تیم طراحی روی کاغذ ، همیشه به فکر کیفیت کار بود و تیم طراحی 3 بعدی به فکر زمان و اتمام کار در زمان تعیین شده ....

یک محاسبه ریاضی کوچیک با هم انجام میدیم تا مشکل و دعوای دو تیم رو بهتر حس کنید:

برای یک عکس معمولی که دارای رزولوشن 2048*1500 بود کامپیوتر باید کمی بیشتر از 3 ساعت رندر گیری میکرد حالا برای ساخت 25 فرم در ثانیه 75 ساعت وقت نیاز بود و برای یک دقیقه فیلم حدود 4500 ساعت که اگر به روز تبدیل کنیم میشه حدود 190 روز یعنی کمی بیش از 6 ماه ، فقط برای یک دقیقه . لازمه بگم که کامپیوتری که رندرگیری میکرد دستگاه ضعیفی نبود .یک کامپیوتر 8 هسته ای که هر هسته با کلاک 4GHz و با رم 16 گیگ کار میکرد و در زمان رندرگیری cpu با تمام توان کار میکرد و صدای فن های دستگاه بلند میشد و گرما و صدای زیادی تولید میشد. این فیلم قرار بود 5 دقیقه و 15 ثانیه باشه که با این محاسبات باید حدود 940 روز یعنی دو سال و 8 ماه زمان نیاز بود که برای مشتری این حرف خنده داره که بهش بگی برای یک فیلم ساده برو حدود 3 سال دیگه بیا تا فیلمتون رو به شما تحویل بدیم....

لازمه این رو هم بگم که در زمان رندر گیری عملا دستگاه به حالت نیمه هنگ در میومد و نمیشد کار دیگه ای با دستگاه انجام داد و کاربر دیگه نمیتونست طراحی کنه حالا فکر کنید اگر برای هر ثانیه 30 فرم میشد چه اتفاقی میفتاد و ....

یکی از نکات جالبی که توی این پروژه بود این بود که اگر مترال و جنس مثلا مبلها رو چرم انتخاب میکردیم زمان رندر گیری 2 برابر و یا حتی بیشتر میشد یا اگر مثلا جایی در عکس آینه یا سطح براق وجود داشت تقریبا همین مشکل پیش میومد ... با تغییر جنس و مترال وسائل تشکیل دهنده عکس زمان رندرگیری به شدت تغییر میکرد....و این هم شده بود یک موضوع دیگه برای بحث و جدل بین طراحان کاغذی و بچه های طراحی 3 بعدی ..... و هر روز با هم چالش داشتن .این خلاصه ای از داستان طراحی و چالشهای پیش روی یک انیمیشن کار است و در ادامه با راه حل های این موضع ادامه میدم


رسول دانش
رسول دانش

کارشناس الکترونیک و شبکه

سلام ، مسئول IT چند تا مجموعه و شرکت هستم ، از الکترونیک شروع کردم (هنوزم عاشق الکترونیک هستم) و الان توی دنیای IT دارم فعالیت میکنم ، توی محصولات ماکروسافتی و mikrotik دستی بر آتش دارم ....

نظرات