1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آشنایی با ساختار Alembic

شروع موضوع توسط minaaa ‏15/2/14 در انجمن 3D Max

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    [h=2][/h] [TABLE]
    [TR]
    [TD][​IMG][/TD]
    [TD] امروزه با تعدد نرم افزارهای موجود در زمینه VFX و Animation و کاربرد هر یک از آنها، فرمت های متنوعی در اختیار کاربران قرار گرفته است. به عنوان Nuke , Zbrush, Maya , 3ds Max , Houdini , Cinema 4D, Lightwave , After effects و .... نرم افزارهایی هستند که توسط کاربران VFX به وفور استفاده میشوند.
    [/TD]
    [/TR]
    [/TABLE]
    در این بین بروی هر نرم افزار تعداد بسیار زیادی موتور رندرینگ و پلاگین های مختلف نیز وجود دارد که هر کدام فرمت های متنوعی را تولید میکند. نکته مهم اینجاست که امکان دارد یک کاربر با 4 یا 5 برنامه به صورت مداوم کار کرده و از آنها استفاده کند. به عنوان مثال شما مدل خود را در Maya می سازید، سپس برای تکمیل مدلسازی وارد Zbrush میکنید، برای کار بروی texturing آن به Mari خواهید رفت و به عنوان مثال از Arnold Render برای رندرینگ استفاده خواهید کرد. خوب تا به اینجای کار همه چیز خوب پیش می رود. اما زمانی که شما قصد انتقال صحنه و یا مدلها را بین نرم افزارهای مختلف دارید، مشکل اصلی نمایان می شود. هر نرم افزاری فرمت خاص خود را برای کار و export داشته و فقط فرمت های خاصی را نیز import میکند. در نتیجه انتقال فایل های بین نرم افزارها همیشه دردسرساز بوده و در زمان انتقال فایل، برخی از خصوصیات مهم آن فایل از بین خواهد رفت. به عنوان مثال اگر شما فایلی را که در Maya با Arnold Render ساخته اید، دارای پارامترها و قابلیت های است که ویژه موتور رندر Arnold می باشد. به عنوان مثال زمانی که یک منبع نور یا متریال از این موتور را در صحنه قرار می دهید، این منبع نور و متریال فقط برای Arnold Render قابل استفاده می باشد. حال تصور کنید بعد از اینکه نور پردازی کردید و متریال های خود را نسبت دادید، قصد دارید که صحنه را به یک نرم افزار دیگر انتقال داده و بعد از ویرایش مجدد به Maya برگردانید و یا .... .
    خوب قاعدتا نرم افزار دوم اطلاعات ذخیره شده در صحنه شما را نمیتواند به درستی تشخیص دهید در نتیجه ممکن است که برخی از این اطلاعات توسط نرم افزار دوم حذف و یا با اطلاعات دیگر جایگزین شود. این موضوع در شرکت های بزرگ ساخت جلوه های ویژه به یک دردسر بزرگ تبدیل شده بود و انجام پروژه های بزرگ سینمایی و ویدیویی را با مشکلات بسیار زیادی همراه می ساخت. در اواخر سال 2009 بود که شرکت های Sony Picture Imageworks و Lucas Film به فکر راه کاری برای این مشکل افتادند. تحقیقات و تلاش های این گروه باعث شد که در سال 2010 و در نمایشگاه عظیم siggraph، این دو شرکت ساختار جدیدی را معرفی کردند که میتوانست رابطی بین برنامه های پرکاربرد آنها باشد. Alembic یک ساختار جدید بسیار ساده و قابل اعتماد بود که به سرعت Alembic در پروژه های بزرگی چون The Avengers, Amazing spider-man , hotel Transylvania و ... توسط شرکت های Sony Picture Imageworks , ILM و Lucas و دهها شرکت دیگر مورد استفاده قرار گرفت.
    [​IMG]

    Alembic بر پایه Python استوار گردیده بود و میتوانست از انواع فرمت نورها، متریال ها و ... پشتیبانی کند. محبوبیت Alembic بقدری بالا گرفت که توسعه دهندگان نرم افزاری به سرعت پشتیبانی از آن را در دستور کار خود قرار دادند و یکی بعد از دیگری توانایی استفاده از این framework را در خود قرار دادند. پیشرو این شرکت ها The Foundry بود. این شرکت که محصولاتش بیشترین کاربرد را در بین نرم افزارهای ساخت VFX در شرکت های مطرح دنیا داشت، جز اولین شرکت هایی بود که از Alembic در محصولاتش استفاده کرد. بعد از آن Solid Angle توسعه دهنده Arnold Render ، شرکت Side Effects توسعه دهنده Houdini ، شرکت Luxology که بعدها توسط the foundry خریداری شد و شرکت معظم Autodesk نیز پشتیبانی از Alembic را برای تمام محصولاتش فراهم آورد. Alembic باعث می شود که کار با مجموعه ای نرم افزارها راحت تر و سریعتر و مطمئن تر انجام شود. کاربران میتوانند بدون ترس از بین رفت اطلاعات خود به راحتی و با استفاده از Alembic فایل های خود را بین نرم افزارهای مورد نظرشان انتقال دهند. مهمترین عامل در پیشرفت سریع Alembic این است که این محصول به صورت Open Source عرضه گردید. پس همگان میتوانستند در پیشرفت و توسعه آن شریک بوده و از آن استفاده کنند.
    [​IMG]

    نکته بسیار مهمی که باید به آن توجه کنید این است که Alembic به هیچ عنوان شبیه فرمت های دیگر فایلی که میشناسید نیست. Alembic صحنه شما را به Mesh ها تبدیل میکند که هر کدام از آنها از Vertex هایی تشکیل شده اند. به این Vertex ها Point Cache نیز گفته می شود. در این صورت و در حالی که صحنه به اجزای بسیار کوچکتری تبدیل شده است، بازیابی و خواندن آنها توسط دیگر برنامه ها به راحتی انجام خواهد پذیرفت. اسم این ساختار نیز که به معنی عرق گیری و تقطیر می باشد از همین موضوع گرفته شده است.اطلاعات انیمیشن، UV ، متریال های، نورها و هر آنچه در صحنه وجود دارد به داده های کوچکتری تبدیل شده تا بتوان آنها را در تمام نرم افزارهای دیگر مورد بررسی قرار داد. حال هر نرم افزار بر اساس ساختار داخلی خود این نقاط یا همان (vertex) ها را به ساختار های اصلی خود تبدیل میکند. در این صورت دیگر نباید نگران آن باشیم که آیا فلان موضوع در نرم افزار مقصد به درستی import خواهد شد یا خیر.در حال حاضر نرم افزارهای maya , 3ds max , softimage , lightwave 3d , katana , Houdini , Arnold render , modo , Cinema 4D, Vray , Nuke , Guerilla Render , RealFlow , Clarisse IFX و دهها نرم افزار دیگر از Alembic پشتیبانی میکنند که هر روز به تعداد آنها افزوده می شود.
    [​IMG]
     
    یک شخص از این تشکر کرد.