ad

درباره نویسنده

سجاد ربیعی

11 سال سابقه کار حرفه ای در صنعت انیمیشن و جلوه های ویژه کامپیوتری به عنوان FX Artist و FX Technical Director. سرپرست جلوه های ویژه در فیلم سینمایی حرکت اول ، سریال تلویزیونی ماتادور ، انیمیشن سینمایی شاهزاده رومی و چندین پروژه کوچک و بزرگ دیگر. مسلط به نرم افزارهای Maya ، Houdini و Nuke و موتور های رندر Arnold و RenderMan. مسلط به انواع زبان های برنامه نویسی و اسکریپت نویسی در صنعت انیمشین نظیر ++C و Python ، MEL , HScript , PyQt. مدرس شرکت cmiVFX برای آموزش جلوه های ویژه و نرم افزار Houdini. برای دریافت اطلاعات بیشتر لطفا به سایت شخصی بنده به آدرس www.JKCompany.org مراجعه فرمایید.

مطالب مرتبط

23 دیدگاه

  1. نیما

    از این که وقت گذاشتین هم برای مقاله و هم برای پاسخ های عالی تون بسیار سپاس گزارم.
    فقط شما در بحث سرعت در نرم افزار هودینی گفتین سرعت VEX از C بیشتر هست من گیج شدم آخه تا اونجایی که میدونم پلاگین هایی که با زبان C++ نوشته میشن از لحاظ سرعت بهترینند ولی VEX چه طوری میتونه از C سریع تر باشه؟
    البته تا اونجایی که من میدونم ظاهرا VEX در هودینی یک کامپایلر جدا داره و توابعی از جنس C رو اجرا نمیکنه بلکه خودش مستقیما و با کامپایلری که داره به زبان ماشین تبدیل میشه. به خاطر همین عدم وابستگی به کامپایلر هودینی موجب کرش کردن نرم افزار هودینی هم نمیشه (همونطور که گفتم VEX ;کامپایلر جدا دا ره) .
    JK Path Deformer رو بنظرم این طور اومد که با HDK و زبان C++ نوشتین حالا نمیدونم درست تشخیص دادم یا نه چون اگر تا این حد بشه با VEX کار کرد پس دیگه چه احتیاجی به HDK و C++ در هودینی هست؟
    از طرفی ماجرا وقتی جالب تر میشه که ما با کلمه ی CVEX برخورد می کنیم و واقعا گیج شدم فرق اینا باهم چی هست؟
    ممنون و با تشکر.
    اگر VEX رو میشه با C++ توسعه داد پس نقش CVEX این وسط چی هست؟

    پاسخ دادن
    1. سجاد ربیعی

      اینکه در مورد هودینی گیج میشوید کاملا طبیعیه !
      حقیقتا هودینی یک برنامه بسیار گسترده و بزرگه که اصلا نمیتوانیم با بقیه برنامه ها مقایسه کنیم ، چون هیچ چیزش شباهتی با برنامه های دیگه نداره ، من همیشه میگم هودینی قبل از اینکه یک برنامه سه بعدی باشه ، یک سیستم عامله ، چون حتی در آن کارهایی میتونیم بکنیم که ممکنه هیچ ربطی به انیمیشن نداشته باشه !
      شاید اصلا باورتون نشه ولی شخصی با نرم افزار هودینی و تنها با استفاده از Node های VOPs توانسته یک موتور رندری بسازید که حتی نورهای غیر مستقیم را میتونه پردازش کنه ، چنین چیزی در تمامی برنامه ها کاملا محاله و حتما باید با زبان C این کار را انجام دهیم.(لینکشو پیدا کنم میفرستم )
      یا مثلا شخص دیگری توانسته با برنامه هودینی نرم افزار HDR Studio رو که برای ساخت تصاویر HDRI استفاده میشه رو بسازه.
      لینک :
      https://vimeo.com/112192706
      بنابراین اگر بخواهم تمام قابلیت ها و ویژگی های این نرم افزار را بگم ، خودش یک مقاله چندین صفحه ای میشه !
      در مورد سرعت VEX باید عرض کنم که بله من هم مثل شما برام عجیبه که چرا از C سریعتره ، شاید بخاطر همان کامپایلر جداش VCC باشه. اما این چیزیه که در سایت هودینی نوشته ، VEX حدود چند میلی ثانیه از C سریعتره ، البته این مقدار زیاد به چشم نمیاد وای در محاسبات پیچیده قابل لمسه !(عدد دقیقشو در سایت گفته شد )
      ابزار JK Path Deformer را من با C نساختم ، بلکه با زبان VEX ساختم. البته در Forum هودینی شخصی همین ابزار را به صورت پلاگین با C نوشته است.
      اما در مورد لزوم HDK نسبت به VEX :
      در زبان VEX یا در محیط ویژوال آن یکسری تابع های مخصوص داریم (مثل Add ، Multiply ، Import Attribute و غیره ) ، زمانی که میخواهیم ابزاری را با VEX بنویسیم تنها میتوانیم از این توابع استفاده بکنیم ، ولی اگر به تابع جدیدی نیاز داشته باشیم یا Node جدیدی بخواهیم بسا زیم دیگه نمیتونیم با VEX کار کنیم. اینجاست که با HDK باید اون Node یا تابع جدید را به هودینی به صورت پلاگین اضافه کنیم.
      ساده تر بخوام بگم VEX مثل MEL در مایاست ، با MEL چی کار میتونیم بکنیم ؟ تنها میتونیم از ابزارهایی که در Maya وجود دارند استفاده کنیم ولی اگر نیاز به یک ابزار جدید داشته باشیم مجبوریم با API برای Maya پلاگین بنویسیم .
      یکی دیگه از محدودیت های VEX اینه که با VEX نمیتوان اطلاعات و آبجکت های جدید ساخت.عموما از VEX برای تغییر و Edit اطلاعاتی استفاده میشود که از قبل داریم ، مثلا ابتدا یک مدل کره را میسازیم و بعد Node مخصوص VEX را به آن وصل میکنیم تا بتوانیم مثلا نقاط آن را تغییر دهیم.یعنی اگر فقط یک ند Vop SOp داشته باشید و چیزی به آن وصل نشود نمیتوان نقطه یا Primitive از هیچی ساخت !
      در حالی که با HDK میشه همچین کاری کرد.مثلا Node مخصوصی ساخت که بتواند یک مارپیچ بسازد !
      اما در مورد CVEX :
      همانطور که میدانید ما در هودینی چندین Network یا چندین context داریم مثل : Object ، Geometry ، Dynamic و MotionFX و غیره.
      در هر یک از این شبکه ها که وارد بشیم و یک ند Vops بسازیم و وارد آن بشویم ، یکسری پارامتر و تابع منحصر به فرد داریم که تنها در آن شبکه مورد استفاده قرار میگیرند. مثلا در Vops مربوط به Geometry ما اطلاعات P ، Cd ، V و غیره داریم اما در شبکه MotionFX ما پارامترهای channel ، Sample Rate و غیره را داریم.
      روش کار Vops در همه شبکه ها بدین صورت است که ابتدا اطلاعات وارد آنها میشود و بعد از تغییر در خروجی Vops آماده استفاده میشود و ما تغییر را میتونیم در Viewport ببینیم.
      خوب CVEX هم شبیه VEX میباشد فقط با این تفاوت که اولا در CVEX ما اطلاعات مختلف برای Context های مختلف نداریم و به جای آن یکسری اطلاعات عمومی داریم که در اغلب Context ها قابل استفاده است.
      دوما برخلاف VEX که در زمان اجرای محاسبات Geometry یا غیره اجرا میشود ، CVEX در زمان رندر اجرا میشود.
      بدین صورت که مثلا یک پروژه با Fur ساختید ، یک Shader پروسجورال با CVEX ساختید و به آن اعمال کردید ، حالا در زمان رندر اطلاعات Geometry مربوط به Fur وارد CVEX میشوند و بعد از تغییر اطلاعات مجددا به Fur باز گردانده میشود و بعد از رندر ما Fur تغییر یافته توسط CVEX را میبینیم.
      از CVEX معمولا برای تغییر اطلاعات Geometry ، Volume و Hair استفاده میکنند.(مثل P و Density)
      پس به طور خلاصه CVEX برنامه ای است که بین Geometry و مرحله رندر قرار میگیرد ، اطلاعات اول وارد برنامه CVEX میشوند و بعد از تغییر وارد مرحله رندر میشوند.
      بنابراین برخلاف اسمش ، ما با CVEX تابعی برای VEX با زبان C نمیسازیم و اصلا هیچ ارتباطی هم با زبان C ندارد !

    2. نیما

      سپاس گزارم از اینکه پاسخ های کامل و عالی میدین.

  2. babak

    واییی خدا … عجب مقاله ای! خداوکیلی بهترین مقاله CG بود که تا حالا اینقدر کامل دیدم! همه چیزو درست و دقیق با تحقیق بسیار توضیح دادید واسه ما! عجب کار بزرگی. خسته نباشید آقای ربیعی.
    حالا من چند سوال دارم. در مورد سیستم crowd من واقعا سردرگم هستم و میخوام از یک جایی بالاخره شروع کنم. بین golaem crowd و miarmy کدوم بهتره؟ لطفا gmail تون رو چک کنید چند سوال شخصی هم داشتم از شما. سپاس فراوان

    پاسخ دادن
    1. سجاد ربیعی

      سلام.
      بسیار خوشحالم که از این مقاله لذت بردید ، نگارش این مقاله حدود یک ماه زمان برد ، چون میخواستم خیلی کامل و جامع باشه . چون در سایت های انگلیسی هم مقالات جامعی که در ارتباط با سیستم های Procedural در انیمیشن باشه وجود نداشت (کم و بیش چیزهایی پیدا میشه ) میخواستم تمام مطالبی که مینویسم کاملا صحیح باشه و سندیت داشته باشه.
      در مورد سوالتون راجب Crowd باید عرض کنم که :
      اولا باید ببینید با چه نرم افزاری کار میکنید که طبق کامنتتون من حدس میزنم با Maya کار میکنید.
      در حال حاضر چندین ابزار و نرم افزار داریم که از بقیه معروفترند.
      1. Massive
      2. Massive for Maya
      3. Goleam
      4. Miarmy
      5. Houdini

      مسلما مورد آخر برای کسانی که با این نرم افزار کار نکرده اند زیاد گزینه مناسبی نیست.
      از بین این موارد برنامه Massive از بقیه قویتره ، اما کار کردن با Massive و همچنین نعاملش با برنامه های دیگر یکم سخته.
      Massive for Maya یکی دیگه از نسخه های Massive میباشد که به صورت پلاگین در داخل Maya قابل استفادست.من با این پلاگین کار نکردم ولی فکر میکنم چون قابلیت های خود Massive رو داره باید خیلی قوی باشه.
      Miarmy هم بنده قبلا خیلی کم باهاش کار کردم و ازش خیلی خوشم اومد ، منابع آموزشی بسیاری هم راجبش هست.
      در کل من پیشنهاد میکنم که اگر یک Generalist هستید و میخواهید در پروژه هایی که انجام میدهید ، گهگاهی Crowd هم استفاده بکنید ، بهتره Miarmy رو یاد بگیرید ، چون هم یادگیریش راحتتره و هم منابع آموزشی بیشتری داره ، بنابراین زودتر یاد میگیرید.
      اگر هم میخواهید صرفا تخصص Crowd System داشته باشید و وارد بخش های دیگه مثل انیمشین ، رندر و یا داینامیک نشوید ، حتما Massive اصلی رو (Massive Software) یاد بگیرید.

    2. babak

      راستش من با مکس کار میکنم. بنظر شما چه ابزاری از اینا بهتره که با مکس رابطه خوبی داشته باشه ینی آدمو به دردسر و error های اعصاب خوردکن نندازه!

    3. سجاد ربیعی

      متاسفانه من با مکس زیاد آشنایی ندارم ، ولی اگر Miarmy برای مکس هم وجود داره باهاش کار کنید بهتره . هر برنامه Crowd که دارای منطق فازی (Fuzzy Logic) باشه میتونه کار شما را انجام بده.
      متاسفانه برنامه های Crowd مثل Massive و Miarmy با Maya سازگاری بیشتری دارند و عموما برای Maya نوشته شده اند.
      در هر صورت اگر اون کاری رو که در ایمیل برام نوشتید رو میخواهید انجام دهید ، همچین کار ساده ای نیست و زمان زیادی میبره ، ابتدا منطقشو باید با این برنامه ها پیاده کنید (مثلا دشمن به سمت حریف حمله کند ) ، سپس یکسری حرکات آماده مثل دویدن ، تیر اندازی و غیره داشته باشید که به Agent ها در برنامه Crowd اعمال کنید. (این حرکات هم به صورت آماده با فرمت های FBX یا Mocap باید در اینترنت پیدا بشه)
      اگر با مکس نتونستید ابزار Crowd مناسبی پیدا کنید ، شاید بتونید با مایا Crowd رو بسازید و به مکس وارد کنید (با روش هایی مثل Alembic ، Rib و … ) که البته خیلی سنگین میشه.
      در خیلی از پروژه ها حتی لشگر رو در مایا رندر میکنند و فضا را در مکس رندر میکنند و در کامپوزیت ایندو را روی هم قرار میدهند.
      در هر صورت امیدوارم راه مناسبی را پیدا کنید.
      موفق باشید

  3. ایمان . ب

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

    پاسخ دادن
    1. سجاد ربیعی

      خواهش میکنم ، بیصبرانه منتظرم 🙂

  4. نیما

    با سلام و درود به استاد سجاد عزیز.
    بسیار مطلب عالی بود خیلی استفاده کردیم بی نهایت سپاس گزار.
    فقط این سوال برام پیش اومد که اگر شما در نرم افزاری مثل هودینی به صورت رویه ای مدل سازی رو انجام داده باشین ولی به خاطر زیاد بودن نود ها هر تغییر در ورودی زمان زیادی برای نمایش خروجی صرف کنه اون وقت چی کار میکنن؟
    فرضا شما یک نود مثل ورونوآی رو در نظر بگیرید که به یک شکل خاصی فرضا سر یک مجسمه متصل شده باشه.
    همون طور که میدونید نود ورونوآی در نرم افزار هودینی خودش از چندین نود کوچکتر تشکیل شده که با دوبار کلیک بر روی نود ورونوآی میشه اونارو دید پس نتیجه میگیریم که نود ورونوآی یک ابزار رویه ای هست.
    حالا گاهی پیش میاد که شما یک جسم رو میخواید خوردش کنید میبینید بعد از گذشت مثلا 20 دقیقه هنوز هودینی نتیجه رو به ما نشون نداده و این در حالی هستش که نرم افزار از تمام منابع سیستم برای انجام این کار استفاده نمیکنه(منطقی هم نیست) در این مواقع آیا سیستم رویه ای که راهکاری جالب به ما ارزانی داشته و باعث بالاتر رفتن سطح توقعات شده احساس رضایت رو با زمان طولانی محاسبات از ما پس نمیگیره؟
    البته ممکنه شما بگین که جسم رو قسمت، قسمت خورد کنید و نتیجه رو در آخر با هم ادغام کنیم ولی در مورد Deformer ها (مدل های پیوسته) وضع به چه گونه هست؟ فرضا شما در ویدیویی که یک سیستم رویه ای برای ایجاد پستی و بلندی روی زمین ایجاد کردین با هرتغییر هودینی به مثلا 10 دقیقه زمان برای نمایش نتیجه احتیاج داشته باشه!
    سوال دیگری هم که برام پیش اومده این هستش که آیا شبیه سازی رویه ای هم داریم؟
    بسیار متشکر و سپاس گزارم.

    پاسخ دادن
    1. سجاد ربیعی

      سلام.ممکنه بنده منظور شما را کامل متوجه نشده باشم ، اگر اینطور بود سوال خود را با مثالی دیگر مطرح کنید.
      بله Node های هودینی از چندین جنس مختلف هستند.
      1. Node های اصلی که با زبان C برای هودینی نوشته شده اند و ما در داخل آنها نمیتوانیم تغییر ایجاد کنیم (مثل Copy SOP).
      2. Node هایی که خود یک Digital Asset هستند و از تلفیق تعدادی Node تشکیل شده اند و امکان تغییر در آنها میسر است.
      3. Node هایی که با زبان VEX (چه متنی و چه ویژوال مثل VOPs) ساخته شده اند و امکان تغییر هم وجود دارند.
      4. Node هایی که مثل دسته سوم هستند ولی با زبان Python ساخته شده اند و امکان تغییر هم وجود دارد.

      در بین این 4 دسته بالاترین حد سرعت محاسبات مربوط به دسته سوم است و بعد از آن دسته اول و از همه کند تر دسته آخر میباشد.
      اگر بتوانید ابزار خود را با یکی از دسته های سوم و اول بسازید ، بالاترین حد سرعت محاسبات را خواهید داشت.
      (جالب اینجاست که سرعت محاسبات VEX حتی از زبان C هم بیشتر است ! )
      بنده یک ابزار برای Deform کردن مدل روی Curve برای Houdini ساخته بودم و در کتابخانه Orbolt قرار دادم ، لینکش رو براتون میفرستم.
      (کلمه JK Path Deformer را در سایت Orbolt3D سرچ کنید).
      پیشنهاد میکنم سرعت این ابزار را که از تعداد بسیار بسیار زیادی Node تشکیل شده را با Flow Path Object برنامه Maya مقایسه کنید.
      نکته ای که وجود داره اینه که زیاد شدن و تعداد Node ها تاثیر زیادی روی زمان محاسبات ابزار نداره ، نوع و حجم محاسبات است که زمان اجرا را کند میکند. اگر ابزار Voronoi برای محاسبه مثلا 10 دقیقه زمان لازم دارد ، در برنامه های دیگر هم اگر با هر روشی این ابزار را داشته باشید ، زمان محاسبات در بهترین حالت همین مقدار است ( حالا یا یک مقدار کمتر یا یک مقدار بیشتر ).
      یا محاسبات مایعات کلا سنگین است ، حالا در هر برنامه ای که باشه !
      مثلا محاسبات Flip Simulation در هودینی نسبت به برنامه های دیگر نسبتا سریعتر است ، اما جالب اینجاست که این محاسبات هم نوسط یک ند Solver محاسبه میشود که خود یک HDA است و از Node های دیگر تشکیل شده !
      یک پروژه یکسان را هم با Flip در هودینی و هم با Bifrost در Maya تست بزنید ، با اینکه Flip Solver از تعداد بسیار زیادی Node تشکیل شده ولی نسبت به Bifrost اصلا کند نیست !
      میخوام بگویم که شما مهم نیست از چند تا Node استفاده میکنید ، مهم این است که چه کاری میخواهید انجام دهید ، خرد کردن یک مدل محاسبات پیچیده ای دارد و در هر نرم افزاری چه معمولی و چه Procedural زمان لازم دارد. البته Voronoi هودینی را در پروژه های زیادی استفاده کردم و خیلی هم کند نیست ، اگر تعداد تکه ها را خیلی زیاد کنید کند میشود که خوب این در همه جا همینه و اگر اینطور نباشه باید تعجب کرد !
      نکته جالب دیگر که مربوط به سیستم های Node Base است اینست که در معماری نرم افزارهای Node-Base مثل Houdini یا حتی Nuke و Fusion ، محاسبات به گونه ای است که بیشترین استفاده را از منابع سیستم میبرند و در مقابل هم سرعت محاسبات زیادتر میشوند و هم رم کمتری استفاده میشود ، به این دلیل که در هر Node تنها اطلاعاتی که لازم است ، تغییر میکند واصل اطلاعات و داده ها که ممکن است خیلی زیاد باشند ، به هر مرحله کپی یا منتقل نمیشود و پردازش نمیشوند.
      در مورد چیزی که راجب Deformer هم گفتید همین تعاریف صدق میکنه ، البته اگر شما در Maya مدل بسیار سنگینی داشته باشید و به آن یک نوع Deformer بدهید که با Play کردن پیوسته تغییر میکند نتیجه کارتون کند میشود ، خوب در مایا چه میکنید ؟ مثلا Point Cache میگیرید ؟ خوب در هودینی هم باید همین کار را بکنید و از مدل خود Cache بگیرید.
      در مورد سوال آخرتون هم که جوابشو زودتر دادم ، بله شبیه سازی رویه ای هم داریم ، مثل انواع Node های Solver که همه یک نوع Digital Asset هستند.

  5. امیرنزاکت

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

    پاسخ دادن
    1. سجاد ربیعی

      خواهش میکنم ، بله یکم طولانی بود ولی نمیخواستم دو نسخه ای بکنم. ممنون از نظرتون 🙂

  6. رسول شاکری

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

    پاسخ دادن
    1. سجاد ربیعی

      چون گفته های جناب مکوار را در کامنت های این مقاله نوشتید ، بنده جسارت کردم و گفتم که این گفته ها شاید مستقیما به مقاله بنده ارتباطی نداشته باشد و ممکن است در ذهن دوستانی که شاید از من و شما تجربه کمتری دارند اشتباه برداشت بشود.
      قسمت دوم مطلب رو هم برای این گفتم که با توجه به کامنت شما دوست عزیز، دوستان فکر نکنند برنامه های Procedural مثل Houdini تنها برای افکت و داینامیک ساخته شده اند و از آنها در بخش های دیگر مثل مدلسازی ، رندر ، کامپوزیت و انیمیشن استفاده نمیشود. جالب اینجاست که من هم از ابتدا که با Maya کار میکردم دقیقا همینطور فکر میکردم تا اینکه بعد از6 سال کار کردن با Maya رفتم سراغ هودینی و فهمیدم که کلا راجب توانایی های این نرم افزار اشتباه فکرمیکردم. صنعت انیمیشن و جلوه های ویژه بسیار گسترده است و هر روز هم تکنولوژی های جدیدی وارد آن میشود که مسلما من و شما اگر سالها هم تجربه داشته باشیم باز ممکن است از خیلی از آنها بی اطلاع باشیم یا طرز فکر اشتباهی راجب آنها داشته باشیم.
      در هر صورت از اینکه نظراتتون را در این بخش نوشتید سپاسگذارم . این تعامل باعث میشه که همه از یکدیگر چیزهای جدید یاد بگیرند و از تجربیات یکدیگر نیز استفاده بکنیم.

  7. وحید ولایتی

    سلام
    بسیار عالی بود. ممنون از لطف بی پایان شما و زحمتی که برای ارائه یِ این مقاله کشیدید . همیشه موفق باشید

    پاسخ دادن
    1. سجاد ربیعی

      از نظرتون سپاسگذارم .

  8. احمد

    تشكر از شما مقاله مفيدي بود

    پاسخ دادن
  9. رضا

    واقعا عالی بود خسته نباشید

    پاسخ دادن
  10. رسول شاکری

    با سلام. البته طبق گفته جان مکوار مدیر بخش توسعه دیجیتال که در کمپانی weta digital مشغول هست. هر نرم افزاری به منظر یه هدف ساخته شده. البته در این چندسال نرم افزارها خیلی از رو دست هم کپی رداری میکنن اما در وحله آخر برمیگردن به ماهیت اصلیشون. پس بهتره هر قدمیو هوشمندانه بر داریم.
    هودینی اساسا برای مدل سازی تعریف نشده و ماهیت اصلیش داینامیک. پارتیکل. فلوئید هست.

    پاسخ دادن
    1. سجاد ربیعی

      بله دقیقا درست میفرمایید.
      من فکر میکنم متن این مقاله را کامل مطالعه نکردید یا حداقل خیلی با عجله مطالعه فرمودید.
      به عنوان مثال در انتهای مقاله بنده نوشته بودم که نرم افزارهای Procedural Base نظیر Houdini برای همه موارد مورد استفاده قرار نمیگیرند و حتی کار کردن را میتوانند سخت تر بکنند ، ( بخش معایب را مطالعه فرمایید ) حتی یه جورایی به گفته جناب مکوار هم اشاره ای کردم و گفتم معمولا سعی میکنند در کنار نرم افزارهای Procedural از سایر نرم افزارها هم استفاده کنند و بخش های غیر procedural را در آنها انجام دهند ( بخش خلاصه را مطالعه فرمایید ) ، مثالی هم در قالب مدلسازی های مربوط به کاراکتر زدم که گفتم در برنامه های دیگر مانند Maya و Max راحتتر و سریعتر است.
      این مساله که هر نرم افزاری برای هدف خاصی ساخته شده را اصلا لازم نیست کسی به ما بگه ، اینقدر روشنه که خودمان هم میدانیم همینطور است . کل مقاله این موضوع را بیان میکند که از نرم افزارهای Procedural در زمانهایی باید استفاده بکنیم که نیاز به سیستم های Procedural داریم.
      اما در مورد جمله آخرتون راجب Houdini باید عرض کنم که اینطور نیست ، Houdini هم مانند نرم افزارهای دیگر نظیر Maya ، یک نرم افزار کامل است که شامل بخش های مدلسازی ، رندر، انیمیشن ، ریگ ، و حتی کامپوزیت میباشد. فقط نکته ای که وجود دارد این است که باید به نیازهای پروژه توجه کنید ، اگر نیاز به مدلسازی Procedural دارید مثل برخی از بخش های بازیهای کامپیوتری یا پروژه های Motion Graphic، خوب مسلما مدلسازی در برنامه هایی مثل Maya نمیتونه گزینه مناسبی باشه و باید از برنامه های Procedural استفاده کنید ، اگر نیازی به مدلسازی Procedural ندارید مثل زمانی که میخواهید یک کاراکتر برای یک پروژه انیمیشن بسازید ، استفاده از برنامه های Procedural نمیتونه گزینه مناسبی باشه !
      اگر دوستان با دقت مطالعه بفرمایند، بنده در تمامی مقالاتم ، هیچ وقت نرم افزاری را به جای نرم افزار دیگر تحمیل نکردم و اگر هم از مزایای نرم افزاری گفتم ، مطمئنا مزایای منحصر به فردی بوده که در برنامه های دیگر موجود نیست یا محدود است.
      Procedural هم یکی از همین مزیت هاست که تمام نرم افزارها در تلاش هستند تا به نوعی این ویژگی را در خود جای دهند ، مثل ICE در XSI یا MCG در Max که از ابتدا وجود نداشتند و بعدا به این نرم افزارها اضافه شدند.

    2. سجاد ربیعی

      البته برای همه نرم افزارها نمیتوانیم بگوییم که همه آنها برای هدف خاصی ساخته شدند ، احتمالا هم جناب مکوار منظورش یک قانون ثابت برای همه نرم افزارها نبوده !
      چون نرم افزارهایی هم ساخته شدند که همه صرفا یک هدف را دنبال میکنند.
      مثلا برنامه Nuke و Fusion که هر دو برای کامپوزیت در VFX مورد استفاده قرار میگیرند.
      برنامه های Z Brush و ModBox که هردو هم برای Sculpt Modeling کاربرد دارند و هم برای3D Texture Painting
      یا برنامه Speed Tree و Plant Factory که برای ساخت گیاهان مورد استفاده قرار میگیرند.
      یا برنامه های Real Flow و Naiad (البته زمانی که Naiad تولید میشد )
      همچنین موتورهای رندر مختلف مثل V-Ray و MaxWell
      یا حتی برنامه های Maya و Max یا Blender که همه شامل همه بخشهای ساخت انیمیشن از مدلینگ تا رندر هستند و از هر سه هم برای پروژه های انیمیشن و جلوه های ویژه استفاده میکنند و هم برای پروژه های معماری
      طبق فرموده شما باید هوشمندانه و سنجیده قدم برداشت و نرم افزاری را انتخاب کرد که در حیطه تخصص ما بیشترین قدرت و توانایی را داشته باشد.

ارسال نظر

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *