هوش مصنوعی در Autodesk Maya؛ آموزش کامل MotionMaker، انیمیشن کاراکتر و خودکارسازی با Python

در این راهنمای عملی یاد می‌گیرید چگونه از MotionMaker و هوش مصنوعی در Autodesk Maya برای انیمیشن کاراکتر، ایده‌پردازی، تولید تکسچر، بهبود رندر Arnold و خودکارسازی پروژه با Python و API درواره استفاده کنید.

Share
هوش مصنوعی در Autodesk Maya؛ آموزش کامل MotionMaker، انیمیشن کاراکتر و خودکارسازی با Python

Autodesk Maya یکی از مهم‌ترین نرم‌افزارهای حرفه‌ای برای مدل‌سازی سه‌بعدی، ریگ، انیمیشن کاراکتر، جلوه‌های بصری، شبیه‌سازی و تولید محتوای سینمایی است. استودیوهای انیمیشن، بازی‌سازی، تبلیغات و جلوه‌های ویژه از Maya برای ساخت کاراکترها، محیط‌ها و صحنه‌های پیچیده استفاده می‌کنند.

هوش مصنوعی در Maya دیگر صرفاً به تولید تصویر مرجع یا دریافت پیشنهاد از یک مدل زبانی محدود نیست. Autodesk ابزار MotionMaker را به Maya اضافه کرده است؛ سیستمی مبتنی بر یادگیری ماشین که می‌تواند با استفاده از مسیر حرکت، Keyframe و داده‌های حرکتی، حرکت پایه کاراکتر را تولید کند.

در کنار MotionMaker، می‌توان از هوش مصنوعی برای این کارها استفاده کرد:

  • تبدیل بریف پروژه به برنامه تولید
  • ساخت Character Sheet و Concept Art
  • طراحی شات‌لیست و استوری‌بورد
  • تولید حرکت پایه کاراکتر
  • ایجاد انیمیشن انسان، سگ و اسب
  • ساخت مدل اولیه از متن یا تصویر
  • تولید و اصلاح تکسچرهای PBR
  • پیشنهاد ساختار Rig و کنترلرها
  • تولید اسکریپت Python و MEL
  • نام‌گذاری و سازمان‌دهی صحنه
  • تحلیل رندر و پیدا‌کردن مشکلات بصری
  • کاهش نویز رندر Arnold
  • ساخت ابزارهای اختصاصی با API هوش مصنوعی

در این مقاله یک جریان کاری واقعی و قابل اجرا برای استفاده از هوش مصنوعی در Autodesk Maya می‌سازیم و در نهایت Maya را با Python به API درواره متصل می‌کنیم.

آیا Autodesk Maya هوش مصنوعی داخلی دارد؟

بله. مهم‌ترین ابزار هوش مصنوعی داخلی Maya در حوزه انیمیشن کاراکتر، MotionMaker است.

MotionMaker از یادگیری ماشین، Motion Capture و تکنیک‌های انیمیشن استفاده می‌کند تا حرکت پایه کاراکتر را از روی مسیر و راهنمایی‌های انیماتور تولید کند. هدف آن حذف کامل انیماتور نیست؛ بلکه تولید سریع حرکت اولیه‌ای است که انیماتور بتواند آن را اصلاح و کارگردانی کند.

براساس مستندات رسمی MotionMaker، این ابزار برای ایجاد حرکت طبیعی بدون نیاز به Keyframeگذاری دستی صدها Pose طراحی شده است.

MotionMaker را نباید با یک ابزار ساده Text-to-Animation اشتباه گرفت. هسته اصلی آن یک مدل مولد حرکت است که وضعیت فعلی کاراکتر و مسیر موردنظر را دریافت می‌کند و Pose بعدی را پیش‌بینی می‌کند. با تکرار این پیش‌بینی، یک توالی حرکتی پیوسته ساخته می‌شود.

Autodesk در معرفی فنی MotionMaker توضیح داده است که این سیستم مانند هدایت یک بازیگر مجازی عمل می‌کند: انیماتور مسیر، هدف‌ها و دستورات سطح بالا را مشخص می‌کند و MotionMaker حرکت پایه را می‌سازد. معرفی MotionMaker توسط Autodesk

تفاوت هوش مصنوعی با ابزارهای خودکار Maya

همه ابزارهای Procedural و خودکار Maya هوش مصنوعی نیستند.

ابزارکاربردهوش مصنوعی است؟
MotionMakerتولید حرکت کاراکتر با مدل یادگیری ماشینبله
HumanIKریگ و Retarget انیمیشنخیر
Graph Editorویرایش منحنی‌های انیمیشنخیر
Animation Layersترکیب و اصلاح حرکتخیر
Bifrostساخت گراف‌های Procedural و شبیه‌سازیخیر
MASHموشن‌گرافیک و توزیع Proceduralخیر
Blend Shapeکنترل تغییر شکل و حالات چهرهخیر
Arnold Denoiserکاهش هوشمند نویز رندردر موتورهای مبتنی بر یادگیری ماشین، بله
مدل زبانی متصل به APIتولید متن، کد، JSON و برنامه صحنهبله
Text-to-3Dتولید مدل اولیه از متنبله
Image-to-3Dتبدیل تصویر مرجع به مدل اولیهبله

ترکیب ابزارهای هوش مصنوعی و سیستم‌های قطعی Maya معمولاً نتیجه بهتری از استفاده مستقل هرکدام ایجاد می‌کند. برای مثال، MotionMaker حرکت پایه را می‌سازد، HumanIK آن را روی کاراکتر منتقل می‌کند و Animation Layers برای اصلاح هنری حرکت استفاده می‌شود.

MotionMaker در Maya چیست؟

MotionMaker یک سیستم تولید حرکت کاراکتر در Maya است که به‌جای ساخت تمام فریم‌ها از صفر، یک حرکت اولیه قابل ویرایش ایجاد می‌کند.

کاربر می‌تواند:

  • یک کاراکتر یا Avatar آماده کند.
  • مسیر حرکت را تعیین کند.
  • نقاط یا Key Targetهای مهم را مشخص کند.
  • حرکت موردنظر را تولید کند.
  • خروجی را روی Rig اصلی Retarget کند.
  • با Animation Layer جزئیات اجرایی را اضافه کند.
  • نتیجه را در Graph Editor اصلاح کند.

MotionMaker برای ساخت حرکت‌های تکراری و زمان‌بر بسیار مفید است:

  • راه‌رفتن
  • دویدن
  • تغییر جهت
  • نشستن
  • پریدن
  • حرکت روی مسیر
  • حرکت کاراکترهای پس‌زمینه
  • گشت‌زنی کاراکترها
  • ساخت Crowd Animation
  • ایجاد Blocking اولیه یک شات

MotionMaker ابتدا برای کاراکترهای دوپا و سگ ارائه شد و سپس پشتیبانی از حرکت اسب نیز به آن اضافه شد. Autodesk اعلام کرده است که این ابزار می‌تواند حرکت‌هایی مانند Walk، Trot، Canter و Gallop را برای اسب تولید کند. معرفی MotionMaker برای انیمیشن اسب

قابلیت Bring Your Own Data در MotionMaker

یکی از مهم‌ترین پیشرفت‌های MotionMaker، قابلیت Bring Your Own Data است. این قابلیت اجازه می‌دهد استودیو یا انیماتور با داده‌های حرکتی خودش یک مدل حرکتی اختصاصی بسازد.

داده ورودی می‌تواند شامل موارد زیر باشد:

  • Motion Capture اختصاصی
  • انیمیشن‌های Keyframeشده
  • حرکت‌های استایل‌شده
  • چرخه‌های حرکت تولیدشده در پروژه‌های قبلی
  • حرکت موجودات یا کاراکترهای غیرمعمول
  • سبک حرکتی مخصوص یک شخصیت

در فرایند کلی، داده حرکت آماده می‌شود، بخش‌های مختلف آن برچسب‌گذاری می‌شوند و MotionMaker مدلی متناسب با همان Rig و سبک حرکت آموزش می‌دهد. سپس انیماتور می‌تواند از مدل آموزش‌دیده برای تولید حرکت‌های جدید استفاده کند.

براساس توضیحات Autodesk، MotionMaker در نسخه‌های جدید امکان آموزش مدل روی Rig و Motion Data اختصاصی را فراهم کرده است و خروجی همچنان قابل ویرایش و Retarget است. معرفی Bring Your Own Data در MotionMaker

این قابلیت برای استودیوهایی ارزشمند است که نمی‌خواهند تمام کاراکترها حرکت عمومی و مشابه داشته باشند. با استفاده از داده اختصاصی می‌توان ویژگی‌های اجرایی برند یا شخصیت را حفظ کرد.

MotionMaker برای چه پروژه‌هایی مناسب است؟

MotionMaker انتخاب مناسبی است اگر:

  • تعداد زیادی حرکت پایه نیاز دارید.
  • کاراکترهای پس‌زمینه دارید.
  • باید چند نسخه از یک حرکت بسازید.
  • زمان کافی برای Keyframeگذاری کامل ندارید.
  • مسیر حرکت کاراکتر چند بار تغییر می‌کند.
  • به Blocking سریع نیاز دارید.
  • می‌خواهید داده Motion Capture خود را دوباره استفاده کنید.
  • باید سبک حرکت میان چند شات ثابت بماند.
  • روی انیمیشن انسان، سگ یا اسب کار می‌کنید.
  • می‌خواهید انیماتور زمان بیشتری روی Acting و جزئیات صرف کند.

MotionMaker نباید بدون اصلاح نهایی برای تمام شات‌ها استفاده شود. شات نزدیک شخصیت اصلی، بازی احساسی، تماس دقیق با اشیا و تعامل پیچیده میان چند کاراکتر همچنان به کار دستی انیماتور نیاز دارند.

پیش‌نیازهای کار با MotionMaker

پیش از تولید حرکت، این موارد را بررسی کنید:

Rig سالم

Rig باید ساختار مشخص و پایداری داشته باشد. Jointهای تکراری، Scaleهای غیرعادی، Orientation ناهماهنگ و کنترلرهای ناقص می‌توانند فرایند Retarget را مختل کنند.

وضعیت اولیه مناسب

کاراکتر باید در Pose و موقعیت اولیه قابل پیش‌بینی قرار داشته باشد. Translation و Rotationهای کنترل‌نشده در Groupهای بالاتر ممکن است خروجی را جابه‌جا کنند.

محور و واحد پروژه

جهت Up Axis، Forward Axis و واحد اندازه‌گیری پروژه را قبل از ساخت مسیر بررسی کنید.

Floor و محل تماس پا

سطح زمین باید مشخص باشد. اختلاف ارتفاع، شیب و برخورد با موانع را پیش از تولید نهایی حرکت کنترل کنید.

طول زمانی کافی

Timeline باید فضای کافی برای مدت حرکت داشته باشد. نرخ فریم نیز باید قبل از تولید انیمیشن مشخص شود.

مسیر ساده و تمیز

برای اولین آزمایش از یک مسیر پیچیده با پیچ‌های تند استفاده نکنید. ابتدا یک مسیر کوتاه و قابل پیش‌بینی بسازید.

آموزش عملی ساخت اولین انیمیشن با MotionMaker

نام برخی گزینه‌ها ممکن است با نسخه نصب‌شده Maya یا Feature Update تغییر کند، اما جریان کاری اصلی به این شکل است.

مرحله اول: آماده‌سازی پروژه

یک پروژه جدید بسازید و تنظیمات زیر را مشخص کنید:

  • واحد صحنه
  • نرخ فریم
  • محدوده Timeline
  • محل ذخیره Cache و Animation
  • ساختار پوشه‌ها
  • نام کاراکتر و Namespace

برای مثال:

Project: Forest_Run
FPS: 30
Timeline: 1-300
Character Namespace: CHR_Fox
Animation Layer: AI_BaseMotion

مرحله دوم: بازکردن MotionMaker Editor

از مجموعه ابزارهای Animation وارد MotionMaker Editor شوید. این پنجره برای مدیریت کاراکتر، مسیر، تولید حرکت و تنظیم خروجی استفاده می‌شود.

اگر MotionMaker در رابط کاربری دیده نمی‌شود:

  • نسخه و Feature Update نصب‌شده را بررسی کنید.
  • پلاگین‌ها و اجزای مربوط به MotionMaker را کنترل کنید.
  • Workspace مربوط به Animation را باز کنید.
  • Maya را پس از نصب یا به‌روزرسانی مجدداً اجرا کنید.
  • مستندات همان نسخه نصب‌شده را بررسی کنید.

مرحله سوم: افزودن کاراکتر

کاراکتر یا Avatar پشتیبانی‌شده را به MotionMaker معرفی کنید. بهتر است اولین آزمایش را با Avatar استاندارد انجام دهید تا مشکلات Rig اختصاصی وارد فرایند نشوند.

پس از تولید حرکت صحیح روی Avatar، آن را روی شخصیت اصلی Retarget کنید.

مرحله چهارم: تعیین مسیر حرکت

مسیر حرکت را داخل صحنه مشخص کنید. این مسیر تعیین می‌کند کاراکتر در چه جهتی و با چه الگوی کلی حرکت کند.

در طراحی مسیر به این موارد توجه کنید:

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

مرحله پنجم: تعیین هدف‌ها و Keyframeهای راهنما

برای کنترل بیشتر می‌توان هدف‌ها یا Keyframeهای مهم را تعیین کرد. هدف‌ها به مدل کمک می‌کنند بفهمد کاراکتر در بخش‌های مشخص باید کجا قرار بگیرد یا چگونه حرکت کند.

نمونه برنامه:

زمانهدف
فریم ۱شروع حرکت آرام
فریم ۶۰رسیدن به پیچ اول
فریم ۱۲۰افزایش سرعت
فریم ۱۸۰عبور از مانع
فریم ۲۴۰کاهش سرعت
فریم ۳۰۰توقف

مرحله ششم: تولید حرکت

پس از تنظیم مسیر و هدف‌ها، حرکت را Generate کنید. اولین خروجی را به‌عنوان نسخه نهایی در نظر نگیرید.

موارد زیر را بررسی کنید:

  • تماس پا با زمین
  • Foot Sliding
  • جهت بدن
  • سرعت حرکت
  • چرخش در پیچ‌ها
  • تعادل مرکز جرم
  • برخورد دست و پا با بدن
  • تغییر ناگهانی Pose
  • هماهنگی حرکت با مسیر
  • شروع و پایان حرکت

مرحله هفتم: تولید چند نسخه

اگر نتیجه مناسب نیست، تمام حرکت را دستی اصلاح نکنید. ابتدا ورودی را تغییر دهید و نسخه دیگری بسازید:

  • مسیر را نرم‌تر کنید.
  • فاصله هدف‌ها را اصلاح کنید.
  • زمان حرکت را تغییر دهید.
  • سرعت را کاهش یا افزایش دهید.
  • Pose اولیه را بهتر انتخاب کنید.
  • بخش مسئله‌دار را کوتاه‌تر تولید کنید.

نسخه‌ها را با نام مشخص ذخیره کنید:

MM_WalkPath_v001
MM_WalkPath_v002
MM_WalkPath_Slow_v003
MM_WalkPath_TightTurn_v004

مرحله هشتم: Retarget روی کاراکتر اصلی

پس از تأیید حرکت روی Avatar، انیمیشن را با ابزار Retarget یا HumanIK روی Rig نهایی منتقل کنید.

در این مرحله موارد زیر را بررسی کنید:

  • تفاوت طول پاها
  • تناسب دست و بدن
  • ارتفاع لگن
  • تماس کف پا
  • Roll و Twist استخوان‌ها
  • Scale کاراکتر
  • جهت Root
  • تفاوت Rest Pose
  • کنترلرهای اضافی Rig

یک حرکت صحیح روی Avatar ممکن است پس از Retarget به دلیل تناسب متفاوت بدن نیاز به اصلاح داشته باشد.

مرحله نهم: اصلاح با Animation Layer

بهتر است خروجی MotionMaker را به‌عنوان حرکت پایه نگه دارید و اصلاحات هنری را روی Animation Layer جداگانه انجام دهید.

برای مثال:

BaseAnimation
AI_MotionMaker
BodyPerformance
HandsAndFingers
HeadAndEyes
ContactFix
FinalPolish

این ساختار اجازه می‌دهد بدون تخریب حرکت پایه، جزئیات زیر را اضافه کنید:

  • تغییر وضعیت شانه
  • حرکت سر
  • جهت نگاه
  • حالت دست‌ها
  • وزن و شخصیت حرکت
  • توقف‌های کوتاه
  • واکنش به محیط
  • اصلاح تماس پا
  • اغراق انیمیشنی

مرحله دهم: اصلاح در Graph Editor

پس از Bake یا انتقال حرکت، منحنی‌ها را در Graph Editor بررسی کنید.

به این مشکلات توجه کنید:

  • Keyframeهای بیش‌ازحد
  • لرزش منحنی‌ها
  • جهش ناگهانی Rotation
  • Euler Flip
  • تغییر سرعت غیرطبیعی
  • حرکت ناخواسته Root
  • تغییر پیوسته پا هنگام تماس با زمین

حرکت تولیدشده توسط هوش مصنوعی همچنان باید مانند هر Motion Capture دیگری Clean Up شود.

استفاده از MotionMaker برای Crowd Animation

یکی از کاربردهای مناسب MotionMaker، ساخت حرکت کاراکترهای پس‌زمینه است.

برای جلوگیری از تکراری‌شدن Crowd:

۱. چند مسیر متفاوت ایجاد کنید.

۲. سرعت شروع کاراکترها را تغییر دهید.

۳. Offset زمانی متفاوت اعمال کنید.

۴. چند نسخه از Walk و Run بسازید.

۵. Scale و طول قدم را در محدوده کنترل‌شده تغییر دهید.

۶. حرکت سر و دست را روی Animation Layer اضافه کنید.

۷. کاراکترهای نزدیک دوربین را بیشتر اصلاح کنید.

۸. کاراکترهای بسیار دور را به شکل Cache یا Proxy مدیریت کنید.

۹. حرکت تمام کاراکترها را هم‌زمان Generate نکنید؛ آن‌ها را گروه‌بندی کنید.

۱۰. قبل از رندر نهایی، برخورد مسیرها را بررسی کنید.

MotionMaker سیستم کامل Crowd Simulation نیست. برای ازدحام بسیار بزرگ ممکن است به ابزارهای تخصصی Crowd، سیستم‌های Procedural یا راهکار اختصاصی استودیو نیاز داشته باشید.

استفاده از هوش مصنوعی در پیش‌تولید Maya

پیش از بازکردن Maya می‌توان بخش بزرگی از ابهام پروژه را با مدل زبانی کاهش داد.

نمونه پرامپت تحلیل بریف

شما یک کارگردان انیمیشن و سرپرست پروژه Autodesk Maya هستید.

بریف زیر را به برنامه تولید سه‌بعدی تبدیل کن:

یک ویدئوی ۲۰ ثانیه‌ای از یک ربات کوچک می‌خواهیم که وارد یک
کارگاه تاریک می‌شود، یک دستگاه را روشن می‌کند و محیط نورانی می‌شود.

مشخصات:
- نرم‌افزار: Autodesk Maya
- رندر: Arnold
- سبک: Stylized
- نرخ فریم: ۲۴
- تیم: یک مدل‌ساز و یک انیماتور
- زمان تولید: ۱۴ روز

خروجی شامل این موارد باشد:
1. شات‌لیست
2. دارایی‌های موردنیاز
3. برنامه مدل‌سازی
4. برنامه Rig
5. انیمیشن‌های موردنیاز
6. نورپردازی
7. ریسک‌های تولید
8. کارهایی که می‌توان با هوش مصنوعی سریع‌تر کرد

پاسخ مدل باید به‌عنوان پیش‌نویس بررسی شود. زمان واقعی تولید به تجربه تیم، کیفیت مورد انتظار و پیچیدگی Rig بستگی دارد.

تولید Concept Art و Character Sheet

مدل‌های مولد تصویر می‌توانند برای ساخت مرجع اولیه کاراکتر مفید باشند. بااین‌حال، یک تصویر زیبا الزاماً برای مدل‌سازی مناسب نیست.

برای ساخت Character Sheet بهتر است در پرامپت مشخص کنید:

  • نمای روبه‌رو
  • نمای کنار
  • نمای پشت
  • Pose خنثی
  • نور یکنواخت
  • پس‌زمینه ساده
  • نبود پرسپکتیو شدید
  • نمایش کامل دست و پا
  • نبود اجزای پنهان
  • ثبات لباس و جزئیات

نمونه:

Character design sheet of a small stylized service robot,
front view, side view and back view,
neutral standing pose, consistent proportions,
clean studio lighting, plain background,
hard-surface modeling reference,
all mechanical joints visible,
no perspective distortion, no text

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

ساخت مدل سه‌بعدی با Text-to-3D و Image-to-3D

مدل‌های تولید سه‌بعدی می‌توانند از متن یا تصویر یک Mesh اولیه بسازند. این خروجی برای Concept، Blockout و اشیای پس‌زمینه مفید است، اما معمولاً آماده Rig و انیمیشن نیست.

مشکلات متداول مدل‌های تولیدشده

  • Topology نامنظم
  • تعداد Polygon بسیار زیاد
  • Edge Flow نامناسب
  • هندسه‌های باز
  • Normal معکوس
  • تقارن ناقص
  • UV غیرقابل استفاده
  • Scale اشتباه
  • قطعات به‌هم‌چسبیده
  • جزئیات ساختگی
  • متریال‌های غیرقابل ویرایش
  • نبود Loop مناسب اطراف مفاصل

جریان کاری ورود مدل به Maya

۱. مدل را با فرمت مناسب مانند FBX، OBJ یا Alembic دریافت کنید.

۲. فایل را ابتدا در یک Scene آزمایشی Import کنید.

۳. واحد اندازه‌گیری و Scale را بررسی کنید.

۴. History غیرضروری را حذف کنید.

۵. Transformها را کنترل کنید.

۶. Normalها و Nonmanifold Geometry را پیدا کنید.

۷. بخش‌های جدا را نام‌گذاری و گروه‌بندی کنید.

۸. Retopology انجام دهید.

۹. برای کاراکتر، Edge Loopهای صورت و مفاصل را بازسازی کنید.

۱۰. UV جدید ایجاد کنید.

۱۱. متریال‌های موقت را با Shaderهای استاندارد پروژه جایگزین کنید.

۱۲. پیش از Rig یک تست Deformation انجام دهید.

چه مدل‌هایی را با هوش مصنوعی بسازیم؟

مناسب:

  • اشیای پس‌زمینه
  • سنگ و عناصر طبیعی
  • Props ساده
  • Blockout محیط
  • اشیای تزئینی
  • مدل اولیه برای Sculpt
  • تنوع‌های سریع یک طرح

نیازمند احتیاط:

  • کاراکتر اصلی
  • چهره نزدیک
  • محصول صنعتی
  • مدل دارای ابعاد دقیق
  • لباس قابل شبیه‌سازی
  • مدل آماده Rig
  • Asset موردنیاز برای چاپ سه‌بعدی

تولید تکسچر PBR برای Maya و Arnold

یک تصویر تولیدشده توسط هوش مصنوعی به‌تنهایی متریال کامل نیست. متریال Arnold ممکن است به مجموعه‌ای از نقشه‌ها نیاز داشته باشد:

  • Base Color
  • Roughness
  • Metalness
  • Normal
  • Height یا Displacement
  • Ambient Occlusion
  • Opacity
  • Emission
  • Subsurface Color

پرامپت نمونه برای تکسچر

Seamless PBR texture of aged painted metal,
dark blue paint with subtle scratches,
uniform orthographic surface,
neutral lighting, tileable pattern,
no shadows, no text, no logo,
high-resolution material reference

جریان کاری تکسچر

۱. تصویر را از نظر Seamless بودن بررسی کنید.

۲. مرزهای تکرار را با Offset آزمایش کنید.

۳. Base Color را از نور و سایه‌های ساختگی پاک کنید.

۴. نقشه‌های Roughness و Normal را از همان مرجع بسازید.

۵. رزولوشن و قاب تمام نقشه‌ها را یکسان نگه دارید.

۶. از Color Space مناسب برای نقشه‌های رنگی و داده‌ای استفاده کنید.

۷. متریال را روی Sphere، Cube و Plane آزمایش کنید.

۸. شدت Normal و Displacement را ابتدا پایین تنظیم کنید.

۹. نتیجه را در نمای نزدیک و دور بررسی کنید.

۱۰. Scale واقعی بافت را روی مدل تعیین کنید.

اگر هر نقشه به‌صورت مستقل تولید شود، ممکن است خراش‌های Base Color با Normal و Roughness هماهنگ نباشند. تمام نقشه‌ها باید از یک منبع مشترک ساخته شوند.

کاهش نویز Arnold با Denoiser

Arnold دارای ابزارهای Denoising مانند Intel Open Image Denoise یا OIDN و NVIDIA OptiX است. این ابزارها برای حذف نویز باقی‌مانده از رندر استفاده می‌شوند.

طبق مستندات Arnold، OIDN روی مجموعه گسترده‌تری از سخت‌افزارها قابل استفاده است و OptiX به GPU و درایور سازگار NVIDIA نیاز دارد. مستندات سیستم موردنیاز Arnold

روش اصولی استفاده از Denoiser

۱. ابتدا یک فریم بدون Denoise رندر کنید.

۲. منبع اصلی نویز را پیدا کنید.

۳. Camera AA و Sample نورها را منطقی تنظیم کنید.

۴. متریال‌های براق و Transmission را جداگانه بررسی کنید.

۵. Denoiser را فعال کنید.

۶. خروجی خام و Denoiseشده را ذخیره کنید.

۷. جزئیات مو، خز، خطوط نازک و Texture را مقایسه کنید.

۸. برای انیمیشن چند فریم متوالی را آزمایش کنید.

۹. Flicker را در پخش واقعی بررسی کنید.

۱۰. Denoiser را جایگزین Sampling صحیح نکنید.

نقاط حساس در Denoising

  • مو و خز
  • ذرات
  • Motion Blur شدید
  • Depth of Field زیاد
  • بازتاب‌های کوچک
  • نور حجمی
  • Displacement ظریف
  • Skin Shader
  • خطوط باریک
  • جزئیات چشم و مژه

Denoiser می‌تواند زمان رندر را کاهش دهد، اما Sampling بسیار پایین ممکن است اطلاعات کافی برای بازسازی تصویر باقی نگذارد.

استفاده از مدل زبانی برای Rigging

مدل زبانی می‌تواند در طراحی ساختار Rig کمک کند، اما Rig نهایی باید توسط متخصص آزمایش شود.

پرامپت مناسب:

برای یک کاراکتر چهارپای Stylized در Autodesk Maya،
ساختار Rig پیشنهادی طراحی کن.

نیازها:
- کنترل ستون فقرات
- IK/FK دست و پا
- Foot Roll
- کنترل دم
- Stretch اختیاری
- قابلیت Retarget
- مناسب انیمیشن بازی

خروجی شامل:
1. Hierarchy مفاصل
2. نام‌گذاری Jointها
3. کنترلرها
4. Constraintهای موردنیاز
5. Attributeهای سفارشی
6. تست‌های Deformation
7. خطاهای رایج

مدل می‌تواند نقشه اولیه مناسبی ایجاد کند، اما درباره تناسب واقعی Mesh، کیفیت Skin Weight و نیازهای موتور بازی اطلاعات کامل ندارد.

تولید اسکریپت Python و MEL با هوش مصنوعی

Maya دارای Python API و مجموعه بزرگی از Commands است. Python API 2.0 نیز رابطی نزدیک‌تر به سبک پایتون و در بسیاری از عملیات عملکرد بهتری ارائه می‌دهد. مرجع رسمی Maya Python API 2.0

هوش مصنوعی می‌تواند در تولید این ابزارها کمک کند:

  • Batch Rename
  • کنترل Naming Convention
  • پیدا‌کردن Textureهای گم‌شده
  • بررسی Freeze Transform
  • پیدا‌کردن Namespaceهای اضافی
  • ساخت گروه‌بندی استاندارد
  • کنترل Frame Range
  • ساخت Playblast
  • بررسی Scale آبجکت‌ها
  • تولید گزارش Scene
  • ساخت پنجره ابزار ساده
  • ایجاد Exporter اختصاصی

پرامپت مناسب برای تولید کد Maya

برای Autodesk Maya یک اسکریپت Python با maya.cmds بنویس.

وظیفه:
- آبجکت‌های انتخاب‌شده را بررسی کند.
- Meshها را با پیشوند GEO نام‌گذاری کند.
- Lightها را با پیشوند LGT نام‌گذاری کند.
- Cameraها را با پیشوند CAM نام‌گذاری کند.
- نام‌ها فقط شامل حروف انگلیسی، عدد و آندرلاین باشند.
- عملیات Undo پشتیبانی شود.
- در صورت نبود Selection پیام مناسب نمایش داده شود.
- از تغییر Shape Nodeهای داخلی خودداری کند.

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

کد تولیدشده را مستقیماً روی پروژه اصلی اجرا نکنید. ابتدا یک Scene آزمایشی و نسخه پشتیبان بسازید.

اتصال Autodesk Maya به API هوش مصنوعی درواره

Maya را می‌توان با Python به API درواره متصل کرد. در این حالت می‌توان اطلاعات کنترل‌شده صحنه را برای مدل ارسال کرد و یک خروجی ساختاریافته دریافت کرد.

معماری ساده:

Maya → Python Script → API درواره → مدل هوش مصنوعی

معماری پیشنهادی برای استودیو:

Maya → سرویس داخلی استودیو → API درواره → مدل هوش مصنوعی

معماری دوم مزایای بیشتری دارد:

  • کلید API روی سیستم انیماتورها ذخیره نمی‌شود.
  • سهمیه هر کاربر قابل کنترل است.
  • درخواست‌ها قابل ثبت و بررسی هستند.
  • پاسخ‌ها را می‌توان Cache کرد.
  • می‌توان Schema خروجی را اعتبارسنجی کرد.
  • مدل و تنظیمات بدون تغییر اسکریپت Maya قابل تعویض هستند.

پروژه عملی: نام‌گذاری هوشمند آبجکت‌های Maya

در این مثال، اسکریپت آبجکت‌های انتخاب‌شده را همراه نوع آن‌ها برای مدل می‌فرستد. مدل نام‌های استاندارد پیشنهاد می‌دهد و اسکریپت پس از اعتبارسنجی آن‌ها را اعمال می‌کند.

قالب خروجی مورد انتظار

{
  "renames": [
    {
      "index": 0,
      "new_name": "GEO_Robot_Body_v001"
    },
    {
      "index": 1,
      "new_name": "LGT_Key_Area_v001"
    }
  ]
}

کد کامل Python

import json
import re
import urllib.request
import urllib.error
import maya.cmds as cmds

API_URL = "https://api.darvareh.ir/v1/chat/completions"
API_KEY = "YOUR_DARVAREH_API_KEY"
MODEL_ID = "YOUR_MODEL_ID"

MAX_OBJECTS = 50
VALID_NAME = re.compile(r"^[A-Za-z][A-Za-z0-9_]{0,79}$")


def get_selected_nodes():
    nodes = cmds.ls(selection=True, long=True) or []

    if not nodes:
        cmds.warning("هیچ آبجکتی انتخاب نشده است.")
        return []

    if len(nodes) > MAX_OBJECTS:
        cmds.warning(
            "حداکثر {} آبجکت را انتخاب کنید.".format(MAX_OBJECTS)
        )
        return []

    result = []

    for index, node in enumerate(nodes):
        node_type = cmds.nodeType(node)
        short_name = node.split("|")[-1]

        result.append({
            "index": index,
            "path": node,
            "current_name": short_name,
            "node_type": node_type
        })

    return result


def build_prompt(nodes):
    public_data = [
        {
            "index": item["index"],
            "current_name": item["current_name"],
            "node_type": item["node_type"]
        }
        for item in nodes
    ]

    return """
برای آبجکت‌های Autodesk Maya زیر نام استاندارد پیشنهاد بده.

قواعد:
- Mesh Transform: پیشوند GEO
- Joint: پیشوند JNT
- Camera: پیشوند CAM
- Light: پیشوند LGT
- Group یا Transform عمومی: پیشوند GRP
- نام فقط شامل حروف انگلیسی، عدد و آندرلاین باشد.
- نام با حرف انگلیسی شروع شود.
- حداکثر طول نام 80 کاراکتر باشد.
- نسخه با قالب v001 در انتها قرار گیرد.
- هیچ index را حذف یا تکرار نکن.

فقط JSON معتبر با این ساختار برگردان:
{
  "renames": [
    {"index": 0, "new_name": "GEO_Example_v001"}
  ]
}

داده آبجکت‌ها:
{}
""".format(json.dumps(public_data, ensure_ascii=False, indent=2))


def call_darvareh(prompt):
    payload = {
        "model": MODEL_ID,
        "messages": [
            {
                "role": "system",
                "content": (
                    "شما متخصص Pipeline و Naming Convention در "
                    "Autodesk Maya هستید. فقط JSON معتبر تولید کنید."
                )
            },
            {
                "role": "user",
                "content": prompt
            }
        ],
        "temperature": 0.1,
        "max_tokens": 1200
    }

    request = urllib.request.Request(
        API_URL,
        data=json.dumps(payload).encode("utf-8"),
        headers={
            "Authorization": "Bearer {}".format(API_KEY),
            "Content-Type": "application/json"
        },
        method="POST"
    )

    try:
        with urllib.request.urlopen(request, timeout=60) as response:
            data = json.loads(response.read().decode("utf-8"))
            return data["choices"][0]["message"]["content"]

    except urllib.error.HTTPError as error:
        details = error.read().decode("utf-8", errors="replace")
        raise RuntimeError(
            "HTTP {}: {}".format(error.code, details)
        )

    except urllib.error.URLError as error:
        raise RuntimeError(
            "Network error: {}".format(error.reason)
        )


def clean_json_response(content):
    content = content.strip()

    if content.startswith("```"):
        lines = content.splitlines()

        if lines and lines[0].startswith("```"):
            lines = lines[1:]

        if lines and lines[-1].strip() == "```":
            lines = lines[:-1]

        content = "\n".join(lines).strip()

    return json.loads(content)


def validate_renames(result, nodes):
    if not isinstance(result, dict):
        raise ValueError("خروجی اصلی باید یک Object از نوع JSON باشد.")

    renames = result.get("renames")

    if not isinstance(renames, list):
        raise ValueError("فیلد renames در خروجی وجود ندارد.")

    if len(renames) != len(nodes):
        raise ValueError("تعداد نام‌ها با تعداد آبجکت‌ها برابر نیست.")

    validated = {}
    used_names = set()

    for item in renames:
        if not isinstance(item, dict):
            raise ValueError("هر Rename باید یک Object باشد.")

        index = item.get("index")
        new_name = item.get("new_name")

        if not isinstance(index, int):
            raise ValueError("index باید عدد صحیح باشد.")

        if index < 0 or index >= len(nodes):
            raise ValueError("index نامعتبر دریافت شد.")

        if index in validated:
            raise ValueError("یک index بیش از یک بار تکرار شده است.")

        if not isinstance(new_name, str):
            raise ValueError("new_name باید رشته باشد.")

        if not VALID_NAME.fullmatch(new_name):
            raise ValueError(
                "نام غیرمجاز دریافت شد: {}".format(new_name)
            )

        if new_name in used_names:
            raise ValueError(
                "نام تکراری دریافت شد: {}".format(new_name)
            )

        validated[index] = new_name
        used_names.add(new_name)

    return validated


def apply_renames(nodes, renames):
    ordered_nodes = sorted(
        nodes,
        key=lambda item: item["path"].count("|"),
        reverse=True
    )

    renamed = []

    cmds.undoInfo(openChunk=True, chunkName="DarvarehAIRename")

    try:
        for item in ordered_nodes:
            index = item["index"]
            old_path = item["path"]
            new_name = renames[index]

            if not cmds.objExists(old_path):
                raise RuntimeError(
                    "آبجکت دیگر وجود ندارد: {}".format(old_path)
                )

            final_name = cmds.rename(old_path, new_name)

            renamed.append({
                "old": old_path,
                "new": final_name
            })

    finally:
        cmds.undoInfo(closeChunk=True)

    return renamed


def main():
    if API_KEY == "YOUR_DARVAREH_API_KEY":
        cmds.confirmDialog(
            title="Darvareh API",
            message="ابتدا کلید API درواره را وارد کنید.",
            button=["OK"]
        )
        return

    if MODEL_ID == "YOUR_MODEL_ID":
        cmds.confirmDialog(
            title="Darvareh API",
            message="ابتدا Model ID درواره را وارد کنید.",
            button=["OK"]
        )
        return

    nodes = get_selected_nodes()

    if not nodes:
        return

    try:
        prompt = build_prompt(nodes)
        response_text = call_darvareh(prompt)
        result = clean_json_response(response_text)
        renames = validate_renames(result, nodes)

        preview = "\n".join(
            "{}  →  {}".format(
                nodes[index]["current_name"],
                renames[index]
            )
            for index in sorted(renames)
        )

        choice = cmds.confirmDialog(
            title="پیش‌نمایش نام‌گذاری هوشمند",
            message=preview,
            button=["اعمال", "لغو"],
            defaultButton="اعمال",
            cancelButton="لغو",
            dismissString="لغو"
        )

        if choice != "اعمال":
            return

        renamed = apply_renames(nodes, renames)

        cmds.confirmDialog(
            title="عملیات موفق",
            message="{} آبجکت تغییر نام یافت.".format(len(renamed)),
            button=["OK"]
        )

    except Exception as error:
        cmds.confirmDialog(
            title="خطا",
            message=str(error),
            button=["OK"]
        )


main()

روش اجرای اسکریپت در Maya

۱. در درواره ثبت‌نام کنید.

۲. کلید API بسازید.

۳. از صفحه مدل‌های درواره یک مدل مناسب برای تولید JSON یا کدنویسی انتخاب کنید.

۴. مقدار YOUR_DARVAREH_API_KEY را با کلید خود جایگزین کنید.

۵. مقدار YOUR_MODEL_ID را مطابق Model ID نمایش‌داده‌شده در درواره قرار دهید.

۶. Maya را باز کنید.

۷. وارد Script Editor شوید.

۸. تب Python را انتخاب کنید.

۹. کد را Paste کنید.

۱۰. چند آبجکت آزمایشی را انتخاب کنید.

۱۱. اسکریپت را اجرا کنید.

۱۲. پیش‌نمایش نام‌ها را بررسی و سپس عملیات را تأیید کنید.

چرا قبل از Rename خروجی را اعتبارسنجی کردیم؟

نباید پاسخ مدل مستقیماً روی Scene اجرا شود. در کد بالا چند کنترل مهم وجود دارد:

  • محدودیت تعداد آبجکت‌ها
  • حذف اطلاعات غیرضروری صحنه
  • بررسی ساختار JSON
  • کنترل تعداد نام‌ها
  • بررسی indexها
  • جلوگیری از index تکراری
  • محدودکردن کاراکترهای نام
  • جلوگیری از نام تکراری
  • پیش‌نمایش قبل از اعمال
  • پشتیبانی از Undo
  • مدیریت خطاهای شبکه

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

ساخت دستیار هوشمند Pipeline برای Maya

پس از موفقیت نمونه اولیه، می‌توان یک پنل اختصاصی داخل Maya ساخت که این قابلیت‌ها را ارائه دهد:

  • تحلیل نام‌گذاری Scene
  • تولید نام استاندارد
  • بررسی ساختار Groupها
  • پیشنهاد اصلاح Asset
  • ساخت توضیحات پروژه
  • تولید Export Checklist
  • ساخت گزارش فنی Scene
  • پیشنهاد ساختار Rig
  • تولید اسکریپت کمکی
  • تحلیل خطاهای Render Log
  • آماده‌سازی اطلاعات تحویل Asset

معماری پیشنهادی:

Maya Tool
    ↓
Backend داخلی استودیو
    ↓
اعتبارسنجی و حذف اطلاعات حساس
    ↓
API درواره
    ↓
مدل انتخاب‌شده
    ↓
JSON Schema Validation
    ↓
پیش‌نمایش در Maya
    ↓
تأیید کاربر
    ↓
اجرای عملیات

اصل مهم این است که مدل نباید مجوز نامحدود برای اجرای کد، حذف فایل یا تغییر گسترده Scene داشته باشد.

مدیریت امن کلید API

برای آزمایش شخصی ممکن است کلید در متغیر اسکریپت قرار گیرد، اما این روش برای محیط واقعی مناسب نیست.

  • کلید را داخل فایل .ma یا .mb ذخیره نکنید.
  • کلید را در Shelf Script اشتراکی قرار ندهید.
  • اسکریپت دارای کلید را در Git ثبت نکنید.
  • کلید را برای سایر اعضای تیم ارسال نکنید.
  • برای محیط تولید از Backend داخلی استفاده کنید.
  • کلیدهای توسعه و تولید را جدا نگه دارید.
  • سقف مصرف و بودجه تعریف کنید.
  • درخواست‌های غیرعادی را بررسی کنید.
  • کلید آسیب‌دیده را فوراً تعویض کنید.
  • اطلاعات محرمانه کارفرما را بدون بررسی ارسال نکنید.

طراحی پرامپت حرفه‌ای برای Maya

پرامپت مناسب برای Maya باید شامل چند بخش مشخص باشد.

نقش

شما یک Senior Character Animator و Technical Director
متخصص Autodesk Maya هستید.

نسخه و ابزار

نرم‌افزار: Autodesk Maya
Renderer: Arnold
Scripting: Python با maya.cmds

هدف

هدف ساخت انیمیشن هشت‌ثانیه‌ای یک کاراکتر است
که وارد صحنه می‌شود، جعبه را برمی‌دارد و از کادر خارج می‌شود.

محدودیت

- نرخ فریم ۲۴
- بدون Motion Capture جدید
- استفاده از MotionMaker برای حرکت پایه
- تماس دست با جعبه باید دقیق باشد
- خروجی برای موتور بازی آماده شود

قالب خروجی

پاسخ را در قالب جدول شات، مراحل MotionMaker،
برنامه Retarget، Animation Layerها و چک‌لیست Export بده.

اگر فقط بپرسید «چطور در Maya انیمیشن بسازم؟»، پاسخ عمومی خواهد بود. ذکر نسخه، Rig، خروجی، محدودیت و قالب پاسخ باعث تولید راهنمای قابل اجرا می‌شود.

انتخاب مدل مناسب در درواره

برای تمام کارها نباید از یک مدل واحد استفاده کرد.

وظیفهمدل پیشنهادی
تحلیل بریف فارسیمدل زبانی عمومی با درک مناسب فارسی
تولید شات‌لیستمدل دارای استدلال قوی
تولید Python و MELمدل مناسب کدنویسی
تولید JSONمدل دارای خروجی ساختاریافته
تحلیل Concept یا Renderمدل چندوجهی
تولید Style Frameمدل مولد تصویر
پردازش تعداد زیاد Assetمدل سریع و اقتصادی
طراحی Pipelineمدل قدرتمند با Context طولانی

برای مشاهده مدل‌ها، شناسه قابل استفاده و قیمت‌های به‌روز به صفحه مدل‌های درواره مراجعه کنید.

کاهش هزینه API در پروژه‌های Maya

  • تمام Scene را برای مدل ارسال نکنید.
  • فقط نام، نوع و Metadata ضروری را بفرستید.
  • درخواست‌های تکراری را Cache کنید.
  • خروجی را به تعداد توکن مشخص محدود کنید.
  • برای Rename و خلاصه‌سازی از مدل اقتصادی استفاده کنید.
  • مدل قدرتمند را برای طراحی Pipeline یا کد پیچیده نگه دارید.
  • پاسخ را به JSON محدود کنید.
  • تاریخچه غیرضروری گفتگو را حذف کنید.
  • درخواست‌های چند Asset را در Batchهای کنترل‌شده ارسال کنید.
  • برای هر کاربر و پروژه سقف مصرف تعیین کنید.

اشتباهات رایج

انتظار ساخت انیمیشن نهایی با یک کلیک

MotionMaker حرکت پایه تولید می‌کند. Acting، تماس دقیق، Timing، وزن و Polish همچنان به انیماتور نیاز دارند.

اجرای MotionMaker روی Rig مشکل‌دار

هوش مصنوعی مشکلات Joint Orientation، Scale و Retarget را حل نمی‌کند. Rig باید پیش از تولید حرکت بررسی شود.

استفاده مستقیم از Text-to-3D برای کاراکتر اصلی

مدل تولیدشده معمولاً به Retopology، UV، اصلاح تناسب و تست Deformation نیاز دارد.

استفاده از Denoiser به‌جای Sampling صحیح

Denoiser نمی‌تواند اطلاعاتی را که در رندر وجود ندارد با دقت کامل بازسازی کند.

اجرای کد تولیدشده روی فایل اصلی

همیشه نسخه آزمایشی، Undo و Backup داشته باشید.

ارسال اطلاعات کامل پروژه به مدل

فقط داده‌ای را ارسال کنید که برای انجام وظیفه ضروری است.

پذیرش خروجی JSON بدون اعتبارسنجی

نوع داده، محدوده اعداد، نام آبجکت و تعداد عملیات باید بررسی شود.

ویرایش مستقیم حرکت تولیدشده بدون Layer

حرکت پایه را نگه دارید و اصلاحات را روی Animation Layer جداگانه انجام دهید.

چک‌لیست استفاده حرفه‌ای از هوش مصنوعی در Maya

پیش‌تولید

  • بریف پروژه تحلیل شده است.
  • شات‌لیست و مدت شات‌ها مشخص است.
  • Concept Art از نظر ثبات بررسی شده است.
  • نرخ فریم و واحد صحنه تعیین شده است.
  • محدودیت زمان و سخت‌افزار مشخص است.

مدل‌سازی

  • مدل تولیدشده Retopology شده است.
  • Normalها بررسی شده‌اند.
  • UV مناسب وجود دارد.
  • Scale واقعی کنترل شده است.
  • Edge Loop مفاصل مناسب است.
  • History غیرضروری پاک شده است.

ریگ و انیمیشن

  • Joint Orientation درست است.
  • Rest Pose مشخص است.
  • Retarget آزمایش شده است.
  • مسیر MotionMaker ساده و قابل کنترل است.
  • Foot Sliding بررسی شده است.
  • Animation Layerها جدا هستند.
  • Graph Editor کنترل شده است.
  • تماس دست و پا اصلاح شده است.

رندر

  • Sampling آزمایش شده است.
  • Denoiser روی چند فریم بررسی شده است.
  • Flicker وجود ندارد.
  • AOVهای لازم فعال هستند.
  • Color Management درست است.
  • خروجی خام نیز ذخیره می‌شود.

اتصال API

  • کلید API در فایل عمومی نیست.
  • Timeout تعریف شده است.
  • پاسخ JSON اعتبارسنجی می‌شود.
  • عملیات قبل از اجرا پیش‌نمایش دارد.
  • Undo و Backup وجود دارد.
  • اطلاعات محرمانه ارسال نمی‌شود.
  • مصرف API محدود و مانیتور می‌شود.

پرسش‌های متداول

MotionMaker در Maya چیست؟

MotionMaker ابزار مبتنی بر یادگیری ماشین Autodesk Maya برای تولید حرکت پایه کاراکتر از روی مسیر، Keyframe و داده‌های حرکتی است.

آیا MotionMaker جایگزین انیماتور می‌شود؟

خیر. این ابزار بخش‌های تکراری و Blocking اولیه را سریع‌تر می‌کند، اما Acting، Timing، تماس دقیق و Polish همچنان به انیماتور نیاز دارند.

MotionMaker از چه کاراکترهایی پشتیبانی می‌کند؟

مدل‌های ازپیش‌آموزش‌دیده برای کاراکترهای دوپا، سگ و اسب ارائه شده‌اند. قابلیت Bring Your Own Data نیز امکان ساخت مدل حرکتی با Rig و داده اختصاصی را فراهم می‌کند.

آیا می‌توان داده Motion Capture خودمان را در MotionMaker استفاده کرد؟

بله. قابلیت Bring Your Own Data برای آموزش مدل با Motion Capture یا انیمیشن Keyframeشده اختصاصی طراحی شده است.

آیا می‌توان با هوش مصنوعی در Maya مدل سه‌بعدی ساخت؟

می‌توان مدل ساخته‌شده توسط سرویس‌های Text-to-3D یا Image-to-3D را وارد Maya کرد، اما معمولاً به Retopology، UV، اصلاح Scale و پاک‌سازی نیاز دارد.

آیا Maya به API هوش مصنوعی متصل می‌شود؟

بله. Maya دارای Python API و maya.cmds است و می‌توان از Python برای اتصال به API درواره استفاده کرد.

آیا API درواره با اسکریپت Maya کار می‌کند؟

بله. API درواره ساختار سازگار با OpenAI دارد و از طریق درخواست HTTP در Python قابل استفاده است.

آیا می‌توان با هوش مصنوعی اسکریپت MEL و Python تولید کرد؟

بله، اما کد باید با مستندات نسخه نصب‌شده مقایسه و روی Scene آزمایشی اجرا شود.

آیا Arnold از Denoiser هوشمند پشتیبانی می‌کند؟

بله. Arnold از ابزارهایی مانند OIDN و OptiX برای کاهش نویز پشتیبانی می‌کند. سازگاری آن‌ها به سیستم و کارت گرافیک بستگی دارد.

بهترین استفاده MotionMaker چیست؟

حرکت پایه، Blocking سریع، کاراکترهای پس‌زمینه، حرکت‌های تکراری، Crowd محدود و تولید چند نسخه از Walk، Run یا تغییر مسیر از بهترین کاربردهای آن هستند.

جمع‌بندی

هوش مصنوعی در Autodesk Maya زمانی بیشترین ارزش را ایجاد می‌کند که در کنار مهارت انیماتور و ابزارهای حرفه‌ای Maya قرار گیرد.

MotionMaker می‌تواند حرکت اولیه انسان، سگ و اسب را با استفاده از مسیر و داده حرکتی تولید کند. قابلیت Bring Your Own Data نیز به استودیوها اجازه می‌دهد سبک حرکتی و Rig اختصاصی خود را وارد فرایند کنند. با این حال، خروجی همچنان باید Retarget، Clean Up و با Animation Layer اصلاح شود.

مدل‌های هوش مصنوعی در بخش‌های دیگری مانند تحلیل بریف، تولید Concept Art، ساخت مدل اولیه، تولید تکسچر، طراحی Rig، نوشتن Python و بررسی صحنه نیز مفید هستند. Arnold Denoiser نیز می‌تواند در شرایط مناسب نویز رندر را کاهش دهد.

برای خودکارسازی حرفه‌ای، بهتر است مدل هوش مصنوعی داده ساختاریافته تولید کند، خروجی اعتبارسنجی شود و تنها پس از تأیید کاربر در Maya اجرا شود.

برای اتصال Autodesk Maya به مدل‌های مختلف، ساخت ابزارهای اختصاصی Pipeline و استفاده از API سازگار با OpenAI می‌توانید در درواره ثبت‌نام کنید. برای مشاهده مدل‌ها و قیمت‌های به‌روز نیز صفحه مدل‌های درواره را ببینید.

مقالات مرتبط

برای مطالعه شرایط استفاده و محدودیت‌های مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.

Read more

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی چیست؟ کاربردها و آموزش ساخت AI Automation

اتوماسیون هوش مصنوعی با ترکیب گردش‌کارهای خودکار و مدل‌های هوش مصنوعی، پردازش متن، دسته‌بندی، استخراج اطلاعات و تصمیم‌های پیشنهادی را خودکار می‌کند. در این راهنما، معماری و ساخت نمونه عملی آن با API درواره را می‌آموزید.

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce چیست؟ آینده خرید با ایجنت هوش مصنوعی

Agentic Commerce شیوه‌ای جدید برای خرید اینترنتی است که در آن ایجنت هوش مصنوعی می‌تواند نیاز کاربر را بفهمد، محصولات را جست‌وجو و مقایسه کند و فرایند خرید را پیش ببرد. در این راهنما با معماری، UCP، ACP و پیاده‌سازی آن با API درواره آشنا می‌شوید.