ad

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

سجاد ربیعی

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

مطالب مرتبط

14 دیدگاه

  1. danial

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

    پاسخ دادن
  2. دانیا

    واقعا نمیدونم چطوری تشکر کنم خیلی خیلی عالی بود.

    پاسخ دادن
  3. حسین تاجیک

    ممنون از شما آقای ربیعی . کار تون فوق العادست.

    پاسخ دادن
  4. ایمان . ب

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

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

      ممنونم ، انشالا که همینطوره .

  5. nima

    فوق العاده عالی بود.
    فقط چند تا سوال داشتم در مورد python اگر فرصت کردید همینجا، اگر نشد توی مقاله ی بعدیتون پاسخشو بدین:
    1_فرق بین maya.cmds و pymel و pyqt چیه؟(اخه تو بعضی از آموزش ها اینا رو در محیط اسکریپت نویسی مایا وارد میکنن ولی درست توضیح نمیدن فرقشون چی هست)
    2_از کجا میشه به این پی برد که python سریع تر از MEL هست؟ چون اگر واقعا python از MEL سریعتره پس چرا هنوز که هنوزه خیلی از اسکریپت های بزرگ و کوچک رو همچنان با MEL مینویسن ؟ بالاخره باید MEL یک مزیتی نسبت با python داشته باشه که هنوز استفاده میشه؟
    ممنون و فوق العاده سپاس گزارم.

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

      سلام ، درمورد بخش اول سوالتون ، اجازه بدید در مقالات بعدی کامل پاسخ بدم ، فقط در حد کوتاه اینو بگم که در Python ما چندین کتابخانه داریم که هر یک برای کاری ساخت ساخته شده اند ، به این کتابخانه ها در Python میگیم ماژول یا Module.
      همانطور که در مقالات قبلی گفتم در هر کتابخانه تعداد زیادی تابع وجود داره که برای کاری خاص کاربرد دارند ،مثلا اگر بخواهیم با زبان Python به توابع داخلی مایا که در زبان MEL موجود هستند (مثل دستور selectAll ) دسترسی داشته باشیم باید ابتدا کتابخانه مربوط به دستورات مایا را وارد زبان Python بکنیم تا بتونیم از دستورات داخلی آن استفاده بکنیم ، حالا این کتابخانه اسمش هست maya.cmds که در داخل آن تمامی توابعی که در زبان MEL داریم وجود دارند !

      در مورد تست سرعت در رابط با Python و MEL شما اول باید یک دستور سنگین و پیچیده را بنویسید ، مثلا با کد کاری کنید که vertex های یک مدل خیلی سنگین به صورت random جا به جا بشوند ، اینطوری میتونید اختلاف سرع را ببینید ، ولی در کارهای سبک به چشم نمیاد ، اگر وقت کنم در مقاله بعدی یک مثال با کد میزنم .

      در مورد بخش آخر سوالتون باید بگم که همانطور که در مقاله گفتم ، برای پلاگین ها معمولا از اسکریپت برای ساخت GUI یا ارتباط با Maya استفاده میکنند و بنابراین سرعت اصلا مهم نیست ، چون کار اصلی رو که خیلی سنگینه خود پلاگین انجام میده و اسکریپت کاری نمیکنه ، حالا چون سرعت برای ساخت GUI یا ارتباط با Maya مهم نیست ، بنابراین فرقی نمیکنه که از چه زبان اسکریپتی استفاده میکنند ، چون زبان MEL برای ارتباط با Maya کمی ساده تر و عمومی تر است ، بنابراین بیشتر از زبان MEL استفاده میکنند ، همچنین نکته مهم دیگر اینه که زبان Python از نسخه 2010 Maya به بعد اضافه شد ، بسیاری از پلاگین هایی که داریم از خیلی وقت پیش وجود داشتند ، مثل خود RenderMan که روی Maya 5 هم نصب میشد ، خوب اون موقع همه مجبور بودند از MEL استفاده بکنند ، بعد که Python به Maya اضافه شد ، شرکت ها نیازی نداشتند که وقت بزارند و زحمت دوباره بکشند تا کد ها MEL خود را به Python تبدیل کنند (و دلیلی هم نداشت) و به همین دلیل از همون کدهای MEL قدیمی استفاده میکنند.

  6. amir

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

    پاسخ دادن
  7. رضا رفیعی

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

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

      بله ، ممکنه خیلی از چیزهایی که گفته باشم ، خودشون جای توضیح دادن زیاد داشته باشند و شاید برخی از آنها را باید در مقالاتی خاص کامل توضیح داد، اما همانطور که در شماره 1 این مقالات گفتم ، هدف از این مقالات آموزش برنامه نویسی و اسکریپت نویسی نیست ، هدف آشنایی دوستان با مفاهیم اولیه این زبان هاست که در فیلم های آموزشی زیاد توضیح نمیدهند ، بنابراین بیشتر راجب مفاهیم کلی صحبت میکنم و وارد بحث های جزی تر در این مقاله نمیشوم ، البته اگر موردی خاص باشد که دوستان خیلی علاقه داشته باشند که حتما در این مقاله بدونند ،اگر من مناسب بدونم سعی میکنم توضیحات اضافه در پیرامون این مطالب بدهم.

  8. مرتضی گشتی

    سلام بر برادرم سجاد عزیز
    واقعا خیییلی خوشحالم که چنین مقاله ای رو به رشته تحریر درآوردی. خدا شاهده شاید اکثر اوقات که میام به سایت سر میزنم به طمع خوندن نسخه جدید مقاله باشه. فوق العاده ست!
    منم دارم بخشی از یک کتاب آموزش مایا رو ترجمه می کنم که انشاالله آماده بشه حتما در اختیار سایت قرار میدم. لطف کنید راهنمایی کنید چطور می تونم مطالبم رو در سایت آپلود کنم؟
    با تشکر

    پاسخ دادن
    1. ایمان . ب

      ممنون میشم
      بیصبرانه منتظرم
      بالای سایت در بخش ارتباط با ما گزینه ارسال آثار رو کلیک کنید
      لینک
      http://www.imanvfx.com/?page_id=279

    2. سجاد ربیعی

      سلام.
      ممنونم مرتضی جان ، از اینکه از این مقالات راضی هستید بسیار خوشحالم.
      من هم آرزومندم تا ترجمه کتاب شما به زودی تمام بشه و سایر دوستان بتوانند از آن بهره ببرند.
      موفق و پیروز باشید

  9. PARSA sxw

    سلام
    بسیار عالی و دقیق و گویا…

    پاسخ دادن

ارسال نظر

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