ad

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

سجاد ربیعی

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

مطالب مرتبط

8 دیدگاه

  1. سیامک سازگار

    خیلی ممنون

    پاسخ
  2. رضا رفیعی

    خیلی برام جالب بود این مطلبتون. یادمه ما بایدتوی دانشگاه زبان برنامه نویسی ++C رو به عنوان درس سه واحدی برنامه سازی پیشرفته میگذروندیم . اون موقع مرتب اعتراض داشتیم ک این زبان کاربردی نداره و باید بریم سراغ زبانهای جدید تر مثل #C . اما وقتی از دوتا از دوستانی که کار ساخت موتورهای بازی ایرانی رو به عهده داشتن شنیدم ک ++C در طراحی و نوشتن این برنامه هابسیار قدرتمندو توانمنده باورم نمی شد.واقعا این زبان خیلی خوبه و با قابلیتهای شی گرایی خیلی خیلی توی ساخت این نرم افزارا کمک می کنه. ممنون آقای ربیعی از مطلب جذابتون

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

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

      یه اتفاق جالبی که در این رابطه برای من به وجود آمده و آن را شخصا تجربه کردم ، این است که برخی از دوستانی که من به آنها داینامیک و FX آموزش میدادم ، وقتی روز اول در رابط با برنامه نویسی با آنها صحبت میکردم ، بسیار ناراحت میشدند و میگفتند که استعداد یادگیری برنامه نویسی را ندارند ، ولی وقتی در کلاسها ، من نوشتن و آموزش برنامه نویسی را در قالب پروژه های گرافیکی و 3D جالب آموزش میدادم ، آنها بسیار لذت میبردند و بعد از مدتی خودشون به راحتی برنامه نویسی میکردند و نهایتا میگفتند که هرگز فکر نمیکردند برنامه نویسی اینقدر جذاب و شیرین باشه !

      در رابط با برنامه نویسی موتور بازی هم بله ، دقیقا همینطوره ، چون در بازی های کامپیوتری باید از VGA و RAM در بهینه ترین حالت ممکن استفاده بشود ، عموما از زبان ++C برای نوشتن آن استفاده می کنند ، البته این بدان معنا نیست که با زبان #C نمیشود موتور بازی نوشت .
      تقریبا تمامی موتور بازی های قدرتمند و بزرگ مانند Unreal Engine ، Cry Engine و Unity همه و همه با زبان ++C نوشته شده اند.

      در ارتباط با شی گرا بودن زبان ++C باید عرض کنم که بله این یک مزیت این زبان محسوب میشود ، البته جالبه بدانید که ما حتی در زبان های اسکریپت نویسی نظیر Python میتوانیم به صورت شی گرا یا Object Oriented برنامه بنویسیم !

  3. vahid

    سلام بسیار ممنون از دانسته های مهم و در عین حال جالبی که در اختیار من و دوستان می گذارید. یک سوال : آیا امکان تبدیل سیستم های برنامه نویسی به همدیگر هست یا نه؟ یعنی آیا تا به امروز برنامه ای هم وجود دارد که بتواند یک سیستم برنامه نویسی مانند assembly را به C++ و یا بالعکس برگرداند. فقط جهت کنجکاوی پرسیدم. باز هم ممنون

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

      سلام.
      با تشکر از شما دوست گرامی
      حقیقتا من با این دسته برنامه ها هرگز کار نکردم ولی ظاهرا چندتایی وجود دارند که برخی از زبان ها را میتونانند به یکدیگر تبدیل بکنند ، مثل C++ به C#

      ولی حتی اگر هم بهترین آنها را پیدا بکنید باز برای پروژه های بزرگ که سرعت خیلی مهم است ، هرگز به درد نمیخورند، به این دلیل که ما در برنامه نویسی برنامه های بزرگ مثل موتور های رندر ، با بحث بهینه سازی یا Optimization روبرو هستیم ، بدین صورت که در کمترین تعداد خد کد بنویسیم و طوری بنویسیم که کمترین استفاده را از منابع سخت افزاری مثل Ram ببریم ، ولی برنامه هایی که به صورت اتوماتیک یکسری کارها میکنند مثل تبدیل زبان ها به یکدیگر ، همیشه تعداد زیادی کدهای اضافی تولید میکنند که حجم برنامه را بالا میبره !

      ولی برای یادگیری انواع زبانها ممکنه این روش مناسب باشه.

  4. nima

    سلام به استاد ربیعی عزیز و خسته نباشید بابت زحمات فراوانتان.
    فقط چند سوال که از شما به عنوان یک حرفه ای که در دنیای جلوه های ویژه کاری نبوده که نکرده باشید داشتم:
    1_زبان C++ سطح بالاست یا متوسطه یا پایین؟ آخه هرجا و تو هر آموزشی زبان C++ رو تو سطوح مختلف تعریف میکنن!!
    2_زبان هایی مثل MEL و Python از لحاظ سرعت اجرا فرقی باهم دارند تو مایا؟
    3_زبان هایی مثل HScript و Python و VEX ایا از لحاظ سرعت اجرا فرق دارن تو هودینی؟
    4_اگر از اول زبان C++ رو یاد بگیریم اگر چه سخت خواهد بود ولی واقعا به نظر شما دیگه نیازی به پایتون یا MEL یا Hscript یا VEX خواهد بود؟
    ممنون.

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

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

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

      2. بله ، زبان Python از MEL سریعتره و در برخی موارد میتونه ده برابر از MEL سریعتر باشه.

      3. در هودینی زبان VEX از همه آنها سریعتره ، بعد از آن Expression ها یی از جنس Hscript و از همه کندتر Python !

      4. یادگیری زبان C هیچ ربطی به زبان های اسکریپت نویسی مثل Python یا MEL نداره و دو مقوله جدا می باشند ، حتی اگر به C هم تسلط داشته باشید باز هم نیازه با Python یا MEL کار بکنید. ولی عموما یادگیری زبان C برای انیماتورها و کسانی که VFX کار میکنند الزام نیست ، چون خودش یک تخصص جداست و سالها زمان میبره تا کسی بتونه با آن پلاگین های بزرگ بنویسه ، این وظیفه بر عهده تیم Software Development می باشد نه کسایی که VFX کار میکنند.

  5. Reza.Akhz

    ممنون و بازم عالی بود.
    اقای ربیعی، کد اسمبلی نوشتی و داغ دل ما رو تازه کردی. (3ترم برداشتن یک درس 3 واحدی)
    برای کسانی مثل بنده که دانشجوی رشته کامپیوتر بودن (البته انصرافی ترم4) این توضیحات مرور خاطرات شیرین هستن. همچنان منتظر مباحث بعدی.
    خسته نباشید و ممنون.

    پاسخ

ارسال یک نظر

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

ImanVFX - مستقل