هوش مصنوعی در 3ds Max؛ آموزش کامل مدلسازی، متریال، رندر و اتوماسیون با AI
در این آموزش یاد میگیرید چگونه از هوش مصنوعی در 3ds Max برای ایدهپردازی، مدلسازی، ساخت متریال، بهینهسازی صحنه، رندر، تحلیل تصویر و اتوماسیون با Python و API درواره استفاده کنید.
ترکیب هوش مصنوعی و 3ds Max میتواند بخش قابلتوجهی از کارهای وقتگیر طراحی سهبعدی را سریعتر کند؛ از تبدیل یک توضیح متنی به کانسپت تصویری گرفته تا پیشنهاد متریال، نامگذاری صدها آبجکت، تحلیل صحنه، تولید اسکریپت، بهینهسازی مدل و بررسی رندر نهایی.
اما یک نکته مهم وجود دارد: هوش مصنوعی در 3ds Max هنوز به این معنا نیست که با نوشتن یک جمله، نرمافزار بهصورت کاملاً خودکار یک پروژه حرفهای، مهندسیشده و آماده تحویل بسازد. بهترین نتیجه زمانی به دست میآید که هوش مصنوعی را بهعنوان دستیار طراح، مدلساز، متریالساز و توسعهدهنده Pipeline به کار بگیریم.
در این راهنما یاد میگیرید:
- هوش مصنوعی در کدام بخشهای 3ds Max واقعاً کاربرد دارد
- قابلیتهای داخلی 3ds Max چه تفاوتی با ابزارهای مولد بیرونی دارند
- چگونه از تصویر مرجع هوش مصنوعی برای مدلسازی استفاده کنید
- چگونه متریالهای PBR را سریعتر طراحی و کنترل کنید
- چگونه رندرهای Arnold، V-Ray یا Corona را با کمک هوش مصنوعی بهبود دهید
- چگونه با MAXScript و Python کارهای تکراری را خودکار کنید
- چگونه 3ds Max را به API هوش مصنوعی درواره متصل کنید
- چگونه از مدلهای بینایی برای نقد فنی رندر استفاده کنید
- چگونه یک جریان کاری قابلکنترل و مناسب پروژههای واقعی بسازید
هوش مصنوعی در 3ds Max دقیقاً چه کاری انجام میدهد؟
کاربردهای هوش مصنوعی در 3ds Max را میتوان در پنج گروه اصلی قرار داد:
| حوزه | کاربرد هوش مصنوعی | خروجی |
|---|---|---|
| پیشتولید | ساخت کانسپت، Moodboard و تصویر مرجع | تصویر و دستور طراحی |
| مدلسازی | پیشنهاد روش مدلسازی، تولید مدل اولیه و Retopology | مش سهبعدی یا برنامه مدلسازی |
| متریال | ساخت تکسچر، پیشنهاد خصوصیات PBR و شناسایی خطا | مجموعه تکسچر و تنظیمات متریال |
| رندر | Denoising، Upscaling و نقد نورپردازی | تصویر تمیزتر و فهرست اصلاحات |
| اتوماسیون | تولید MAXScript و Python، نامگذاری و تحلیل صحنه | اسکریپت یا گزارش ساختاریافته |
نسخههای جدید 3ds Max ابزارهایی مانند Retopology، Flow Retopology، Modifier Stack غیرمخرب، Material Switcher، OpenPBR، Arnold و Python API را در اختیار هنرمند قرار میدهند. برای نمونه، در 3ds Max 2027 عملکرد ReForm سریعتر شده و دسترسی به Flow Retopology نیز به مسیر Tools > Flow Retopology منتقل شده است. این ابزارها لزوماً همگی «هوش مصنوعی مولد» نیستند، اما زیرساخت بسیار مناسبی برای ساخت یک جریان کاری هوشمند و خودکار فراهم میکنند. جزئیات نسخه جاری را میتوانید در مستندات رسمی 3ds Max ببینید.
تفاوت قابلیت داخلی، افزونه و سرویس هوش مصنوعی
یکی از خطاهای رایج در آموزشهای هوش مصنوعی تری دی مکس این است که تمام ابزارهای جانبی بهعنوان قابلیت داخلی 3ds Max معرفی میشوند.
| نوع قابلیت | نمونه | محل اجرا |
|---|---|---|
| قابلیت داخلی 3ds Max | Retopology، Flow Retopology، MAXScript، Python، Arnold | داخل نرمافزار |
| قابلیت رندر انجین | Denoiser، LightMix، Material Library | Arnold، V-Ray یا Corona |
| ابزار مولد خارجی | تولید تصویر، تکسچر یا مدل سهبعدی | سرویس یا نرمافزار جداگانه |
| مدل زبانی متصل به API | تحلیل صحنه، ساخت پرامپت و تولید اسکریپت | از طریق Python و API |
| مدل بینایی | نقد رندر و شناسایی مشکل تصویر | از طریق API چندوجهی |
بنابراین هنگام انتخاب ابزار باید بدانید هر قابلیت در کدام لایه قرار دارد و آیا برای استفاده از آن به اشتراک، افزونه یا سختافزار خاصی نیاز دارید.
کاربرد اول: ایدهپردازی و ساخت کانسپت پیش از مدلسازی
مدلسازی مستقیم بدون تعریف سبک، نور، رنگ و ترکیببندی معمولاً به اصلاحات متعدد منجر میشود. بهتر است پیش از باز کردن صحنه سنگین، چند کانسپت سریع تولید کنید.
برای مثال، اگر قرار است لابی یک هتل طراحی شود، ابتدا مشخصات پروژه را به یک پرامپت ساختاریافته تبدیل کنید:
فضای داخلی لابی یک هتل شهری لوکس را طراحی کن.
مشخصات:
- مساحت تقریبی: ۱۸۰ مترمربع
- ارتفاع سقف: ۵ متر
- سبک: مینیمال معاصر با عناصر معماری ایرانی
- متریال اصلی: سنگ روشن، چوب گردویی و فلز برنزی
- نور طبیعی از نمای شیشهای جنوبی
- کانتر پذیرش برای سه کاربر
- فضای انتظار برای ۱۸ نفر
- رنگ غالب: کرم گرم، قهوهای و برنز
- خروجی: کانسپت واقعگرایانه مناسب استفاده بهعنوان مرجع مدلسازی در 3ds Max
- زاویه دوربین: دید انسانی با لنز معادل ۲۸ میلیمتر
- از ایجاد پرسپکتیو غیرممکن و مبلمان تغییرشکلیافته خودداری کن
بهتر است برای هر پروژه حداقل چهار نوع تصویر بسازید:
- نمای کلی فضا
- نمای روبهرو یا نزدیک به Orthographic
- تصویر جزئیات متریال
- نسخه سادهتر با هندسه قابلمدلسازی
تصویر سینمایی زیبا همیشه مرجع مناسبی برای مدلسازی نیست. برای کار سهبعدی، خوانایی حجم و امکان تشخیص ابعاد از جذابیت صرف تصویر مهمتر است.
تبدیل کانسپت هوش مصنوعی به برنامه مدلسازی
پس از انتخاب تصویر، از مدل زبانی بخواهید بهجای ساخت تصویر جدید، کانسپت را به اجزای اجرایی تقسیم کند.
پرامپت پیشنهادی:
این کانسپت داخلی را به برنامه مدلسازی برای 3ds Max تبدیل کن.
خروجی را در بخشهای زیر ارائه بده:
1. عناصر معماری ثابت
2. مبلمان و آبجکتهای تکرارشونده
3. متریالهای موردنیاز
4. نورهای اصلی و تزئینی
5. اجزایی که بهتر است با Spline ساخته شوند
6. اجزایی که بهتر است Instance باشند
7. اجزایی که به UV دقیق نیاز دارند
8. ترتیب پیشنهادی مدلسازی
9. خطاهای احتمالی تصویر مرجع
10. مواردی که باید با نقشه اجرایی کنترل شوند
هیچ ابعاد مهندسی را از روی تصویر حدس قطعی نزن.
این روش یک مزیت مهم دارد: هوش مصنوعی را از «سازنده تصمیم نهایی» به «دستیار برنامهریزی» تبدیل میکند.
جریان کاری عملی از تصویر مرجع تا مدل سهبعدی
مرحله اول: مشخصکردن مقیاس واقعی
پیش از مدلسازی، واحد پروژه را تنظیم کنید:
Customize > Units Setup
برای پروژههای معماری معمولاً سانتیمتر یا متر مناسب است. سپس از مسیر System Unit Setup مطمئن شوید واحد سیستمی پروژه با فایلهای ورودی هماهنگ است.
تصویر هوش مصنوعی منبع قابلاعتماد اندازهگیری نیست. حداقل یک اندازه واقعی مانند ارتفاع در، عرض دیوار یا ارتفاع سقف باید از کارفرما، نقشه CAD یا مدل BIM دریافت شود.
مرحله دوم: واردکردن تصویر مرجع
تصویر را میتوانید بهعنوان Viewport Background یا روی یک Plane قرار دهید. روش Plane برای کنترل مقیاس و مقایسه زاویه دوربین مناسبتر است.
فرایند پیشنهادی:
- یک Plane با نسبت ابعاد تصویر بسازید.
- یک متریال با تصویر کانسپت ایجاد کنید.
- متریال را به Plane اختصاص دهید.
- گزینه نمایش متریال در Viewport را فعال کنید.
- Plane را Freeze کنید.
- مدلسازی را در لایهای جداگانه انجام دهید.
مرحله سوم: Blockout
در مرحله Blockout فقط حجمهای اصلی را بسازید:
- کف و سقف
- دیوارها و بازشوها
- ستونها
- مبلمان حجمی
- محل تقریبی نورها
- موقعیت دوربین
در این مرحله از جزئیات ریز، Chamferهای زیاد و متریالهای پیچیده خودداری کنید. ابتدا تناسب حجمها و ترکیببندی دوربین را تثبیت کنید.
مرحله چهارم: استفاده از Instance
اگر یک آبجکت چند بار تکرار میشود، مانند صندلی، پنل دیواری، چراغ یا گیاه، نسخههای تکراری را بهصورت Instance ایجاد کنید. این کار:
- اندازه فایل را کاهش میدهد
- ویرایش گروهی را آسان میکند
- مصرف حافظه را کنترل میکند
- تغییر طراحی را سریعتر میکند
هوش مصنوعی میتواند از روی شرح پروژه فهرست اجزای قابلتکرار را پیشنهاد کند، اما تصمیم نهایی باید براساس ساختار واقعی صحنه باشد.
Retopology در 3ds Max
مدلهای دریافتشده از اسکن سهبعدی، ابزارهای Image-to-3D یا Text-to-3D معمولاً مش تمیزی ندارند. مشکلات رایج آنها عبارتاند از:
- تعداد بسیار زیاد Polygon
- مثلثهای کشیده
- لبههای نامنظم
- سطحهای متداخل
- حفره در مش
- توپولوژی نامناسب برای تغییر فرم
- UV ضعیف یا غیرقابلاستفاده
Retopology ساختار مش را بازسازی میکند تا مدل برای ویرایش، انیمیشن، UV و رندر مناسبتر شود. Autodesk ابزارهای Retopology را برای بازسازی خودکار مش به توپولوژی Quad ارائه کرده است. توضیح رسمی این فرایند در صفحه Retopology اتودسک منتشر شده است.
جریان کاری پیشنهادی Retopology
- یک نسخه پشتیبان از مدل اصلی نگه دارید.
- Transformهای مدل را بررسی و در صورت نیاز Reset XForm کنید.
- خطاهای واضح مش را با Mesh Cleaner اصلاح کنید.
- Retopology Modifier را اضافه کنید.
- الگوریتم مناسب را انتخاب کنید.
- Face Count هدف را براساس کاربرد تعیین کنید.
- خروجی را از نظر Silhouette و لبههای مهم بررسی کنید.
- برای بازگرداندن جزئیات از Projection یا Bake استفاده کنید.
- UV را دوباره بررسی کنید.
برای یک مدل ثابت در پسزمینه، توپولوژی موردنیاز با یک کاراکتر متحرک یکسان نیست. کاهش بیش از حد Polygon ممکن است لبهها و فرم کلی مدل را خراب کند.
Flow Retopology چه زمانی مفید است؟
Flow Retopology عملیات بازسازی مش را روی پردازش ابری انجام میدهد و اجازه میدهد همزمان کار روی صحنه را ادامه دهید. در 3ds Max 2026 امکان اجرای تعداد مشخصی Job ماهانه همراه نصب فراهم شده بود و در 3ds Max 2027 دسترسی آن در منوی Tools قرار گرفته است. تعداد Job، شرایط سرویس و دسترسی ممکن است در نسخههای بعدی تغییر کند؛ بنابراین همیشه مستندات همان نسخه را بررسی کنید.
Flow Retopology برای این موارد مفید است:
- مدلهای بسیار سنگین
- دادههای اسکنشده
- آبجکتهای تولیدشده توسط ابزارهای سهبعدی مولد
- اجرای چند آزمایش با Face Count متفاوت
- آزاد نگهداشتن سیستم اصلی هنگام پردازش
ساخت متریال PBR با هوش مصنوعی
یک متریال PBR معمولاً از چند Map تشکیل میشود:
| Map | وظیفه |
|---|---|
| Base Color یا Albedo | رنگ پایه بدون سایه و نور |
| Roughness | میزان زبری و پخششدن بازتاب |
| Metalness | تعیین بخش فلزی و غیرفلزی |
| Normal | جزئیات ظاهری سطح بدون افزایش هندسه |
| Height یا Displacement | ایجاد اختلاف ارتفاع واقعی یا شبهواقعی |
| Ambient Occlusion | تقویت تماسها و فرورفتگیهای سطح |
| Opacity | تعیین بخشهای شفاف |
| Emission | تولید نور یا درخشندگی سطح |
هوش مصنوعی میتواند یک نمونه تصویری را به تکسچر تبدیل کند یا از توضیح متنی، ظاهر اولیه سطح را بسازد. بااینحال خروجی باید پیش از استفاده کنترل شود.
پرامپت ساخت تکسچر
یک تکسچر بدون درز از سنگ تراورتن کرم روشن تولید کن.
شرایط:
- نمای کاملاً روبهرو
- نور یکنواخت و بدون سایه جهتدار
- فاقد پرسپکتیو
- فاقد اشیای اضافی
- تکرارپذیر و Seamless
- رگههای طبیعی با مقیاس متوسط
- مناسب ساخت متریال PBR برای معماری
- بدون نوشته، قاب یا حاشیه
کنترل کیفیت تکسچر
قبل از استفاده در 3ds Max بررسی کنید:
- آیا تصویر واقعاً Seamless است؟
- آیا سایه یا Highlight داخل Base Color باقی مانده است؟
- آیا مقیاس رگهها با ابعاد واقعی سطح سازگار است؟
- آیا Roughness بیش از حد یکنواخت است؟
- آیا Normal Map در فضای صحیح تولید شده است؟
- آیا Displacement باعث تغییر غیرواقعی لبهها میشود؟
- آیا تکسچر از فاصله دور الگوی تکراری آشکار ایجاد میکند؟
ساخت متریال در 3ds Max
برای متریالهای استاندارد میتوانید از OpenPBR یا متریال سازگار با موتور رندر انتخابی استفاده کنید. نسخههای جدید 3ds Max از Material Switcher، OpenPBR، OSL و Bake to Texture پشتیبانی میکنند. فهرست رسمی امکانات در صفحه قابلیتهای 3ds Max موجود است.
برای یک سنگ معماری:
- Base Color را متصل کنید.
- Roughness را با Gamma مناسب وارد کنید.
- Normal را از طریق Normal Map Node متصل کنید.
- در صورت نیاز Displacement را با شدت کم فعال کنید.
- اندازه واقعی Map را تنظیم کنید.
- متریال را زیر نور خنثی آزمایش کنید.
- سپس آن را در صحنه نهایی قرار دهید.
متریال را فقط زیر نورپردازی نهایی ارزیابی نکنید. یک صحنه آزمایش ثابت با نور خنثی، مقایسه متریالها را دقیقتر میکند.
استفاده از هوش مصنوعی برای پیشنهاد متریال
مدل زبانی میتواند مشخصات توصیفی متریال را به پارامترهای تقریبی تبدیل کند.
نمونه پرامپت:
برای ساخت متریال چوب گردوی روغنخورده در یک موتور رندر PBR راهنما بده.
خروجی را بهصورت جدول ارائه کن و این موارد را مشخص کن:
- Base Color
- Roughness
- Reflection
- IOR تقریبی برای سطح غیرفلزی
- Normal strength
- Displacement amount
- مقیاس واقعی تکسچر
- خطاهای رایج
- روش آزمایش متریال
مقادیر را نقطه شروع معرفی کن، نه مقدار قطعی.
هوش مصنوعی نباید مقادیر پیشنهادی را بهعنوان حقیقت فیزیکی قطعی ارائه دهد. ظاهر نهایی به موتور رندر، نور، Color Management، تکسچر و مقیاس صحنه وابسته است.
نورپردازی با کمک هوش مصنوعی
هوش مصنوعی میتواند یک Brief نورپردازی تهیه کند، اما اجرای آن باید داخل موتور رندر انجام شود.
برای یک فضای داخلی، از مدل بخواهید این موارد را مشخص کند:
- نقش نور طبیعی
- جهت و دمای رنگ نور اصلی
- نورهای مکمل
- نورهای Accent
- کنترل نقاط سوخته
- تعادل فضای داخلی و منظره بیرون
- پیشنهاد لنز و Exposure
- ترتیب آزمونهای نورپردازی
پرامپت نمونه:
برای این صحنه داخلی 3ds Max یک برنامه نورپردازی واقعگرایانه بنویس.
هدف:
- رندر معماری روز
- پنجرهها در ضلع جنوبی
- متریال غالب چوب و سنگ روشن
- حس آرام و لوکس
- حفظ جزئیات فضای بیرون
- اجتناب از سایههای کاملاً سیاه
خروجی:
1. نور اصلی
2. نور محیطی
3. نورهای مصنوعی
4. دمای رنگ پیشنهادی
5. ترتیب تست
6. خطاهای محتمل
7. معیار پذیرش رندر
Denoising هوشمند در Arnold
Arnold بهعنوان رندرر یکپارچه 3ds Max، ابزارهای Denoising در اختیار کاربر قرار میدهد. Denoiser با تحلیل تصویر رندرشده تلاش میکند نویز را کاهش دهد، اما جایگزین Sampling صحیح نیست.
بهطور کلی:
- OptiX برای بازخورد سریع و رندر تعاملی مناسب است.
- Arnold Denoiser یا Noice برای خروجی نهایی قابلکنترلتر است.
- Denoising شدید میتواند جزئیات ظریف را محو کند.
- نور کم، Firefly و Materialهای مسئلهدار باید از ریشه اصلاح شوند.
مستندات Arnold نیز OptiX و Arnold Denoiser را برای سناریوهای متفاوت توضیح میدهد؛ برای مثال OptiX بیشتر برای بازخورد سریع IPR کاربرد دارد. میتوانید جزئیات را در راهنمای Denoising آرنولد بررسی کنید.
روش صحیح استفاده از Denoiser
- ابتدا رندر بدون Denoiser را بررسی کنید.
- منبع اصلی نویز را پیدا کنید.
- Sampling بخش مسئلهدار را اصلاح کنید.
- نورهای بسیار کوچک و شدید را کنترل کنید.
- متریالهای شفاف و براق را بررسی کنید.
- سپس Denoiser را فعال کنید.
- خروجی را در بزرگنمایی ۱۰۰ درصد مقایسه کنید.
- جزئیات پارچه، چوب، مو و Normal Map را کنترل کنید.
هوش مصنوعی برای نقد رندر
یکی از عملیترین کاربردها، ارسال رندر به یک مدل بینایی و دریافت گزارش فنی است.
بهجای پرسیدن «این تصویر خوب است؟»، نقش و معیار بدهید:
این رندر معماری را مانند یک مدیر هنری و متخصص تصویرسازی سهبعدی بررسی کن.
پروژه:
- فضای داخلی اداری
- سبک مینیمال
- خروجی برای ارائه به کارفرما
- موتور رندر: Arnold
- هدف: واقعگرایی بدون ظاهر تبلیغاتی اغراقشده
تصویر را از نظر موارد زیر تحلیل کن:
1. ترکیببندی
2. پرسپکتیو و ارتفاع دوربین
3. نور طبیعی و مصنوعی
4. Exposure و دامنه دینامیکی
5. مقیاس تکسچرها
6. کیفیت متریالها
7. تماس آبجکتها با کف
8. تکرار مدلها و تکسچرها
9. نویز، لبهها و آرتیفکت
10. نشانههای مصنوعیبودن تصویر
در پایان، اصلاحات را براساس «ضروری، مهم و اختیاری» اولویتبندی کن.
مدل بینایی ممکن است چیزی را اشتباه تشخیص دهد؛ بنابراین گزارش آن باید بهعنوان چکلیست بازبینی استفاده شود، نه تأیید فنی نهایی.
اتوماسیون 3ds Max با MAXScript و Python
3ds Max دو مسیر مهم برای اتوماسیون دارد:
- MAXScript، زبان اسکریپتنویسی بومی 3ds Max
- Python با ماژول
pymxs
براساس مستندات توسعهدهندگان 3ds Max، MAXScript برای ساخت ابزارهای داخلی و Python برای توسعه ابزارهای Pipeline و یکپارچهسازی میان نرمافزارها مناسب است. ماژول pymxs نیز بخش بزرگی از امکانات MAXScript را در محیط Python در دسترس قرار میدهد.
هوش مصنوعی میتواند در تولید نسخه اولیه این اسکریپتها کمک کند، اما کد تولیدشده را نباید بدون بررسی روی پروژه اصلی اجرا کرد.
مثال ساده MAXScript برای نامگذاری آبجکتها
کد زیر آبجکتهای انتخابشده را با یک پیشوند و شماره نامگذاری میکند:
prefix = "CHAIR"
counter = 1
for obj in selection do
(
obj.name = prefix + "_" + formattedPrint counter format:"03d"
counter += 1
)
format "Renamed % selected objects.\n" selection.count
خروجی به این شکل خواهد بود:
CHAIR_001
CHAIR_002
CHAIR_003
برای استفاده:
- آبجکتها را انتخاب کنید.
- از منوی Scripting، پنجره MAXScript Editor را باز کنید.
- کد را Paste کنید.
- ابتدا فایل پروژه را ذخیره کنید.
- کد را اجرا کنید.
- نتیجه را در Scene Explorer بررسی کنید.
مثال Python برای گزارشگیری از صحنه
کد زیر تعداد آبجکتها، آبجکتهای مخفی، آبجکتهای بدون متریال و نامهای تکراری را بررسی میکند:
from collections import Counter
from pymxs import runtime as rt
nodes = list(rt.objects)
names = [str(node.name) for node in nodes]
name_counts = Counter(names)
hidden_nodes = [node for node in nodes if node.isHidden]
without_material = [node for node in nodes if node.material is None]
duplicate_names = {
name: count
for name, count in name_counts.items()
if count > 1
}
print("Total objects:", len(nodes))
print("Hidden objects:", len(hidden_nodes))
print("Objects without material:", len(without_material))
print("Duplicate names:", duplicate_names)
این گزارش ساده را میتوان به یک Scene Auditor کامل تبدیل کرد که موارد زیر را کنترل کند:
- آبجکتهای بدون متریال
- Mapهای مفقود
- نامهای نامعتبر
- Polygonهای بسیار سنگین
- Scaleهای غیرعادی
- لایههای خالی
- آبجکتهای مخفی فراموششده
- Instanceهای قابلبهینهسازی
- مسیرهای شبکهای قطعشده
- تنظیمات رندر
اتصال 3ds Max به API هوش مصنوعی درواره
درواره یک زیرساخت API هوش مصنوعی سازگار با ساختار OpenAI ارائه میدهد. توسعهدهنده میتواند از طریق یک Endpoint واحد، قابلیتهای مدلهای مختلف را به ابزار داخلی 3ds Max متصل کند.
کاربردهای این اتصال میتواند شامل موارد زیر باشد:
- تولید پرامپت تصویر
- تبدیل Brief کارفرما به برنامه مدلسازی
- پیشنهاد نامگذاری صحنه
- تولید نسخه اولیه MAXScript
- تحلیل گزارش Scene Audit
- تولید توضیحات متریال
- ساخت چکلیست کنترل کیفیت
- تحلیل رندر با مدل چندوجهی
- تولید مستندات پروژه
برای مشاهده مدلهای در دسترس و قیمت بهروز، صفحه مدلهای درواره را ببینید.
دریافت کلید API
- وارد سایت درواره شوید.
- حساب کاربری ایجاد کنید یا وارد حساب خود شوید.
- از پنل، کلید API بسازید.
- Model ID مناسب را از صفحه مدلها انتخاب کنید.
- کلید را در فایل پروژه یا کد قابلانتشار قرار ندهید.
در مثالها از این مقادیر استفاده میکنیم:
YOUR_DARVAREH_API_KEY
YOUR_MODEL_ID
آدرس پایه API:
https://api.darvareh.ir/v1
اسکریپت عملی: ارسال گزارش صحنه به درواره
اسکریپت زیر اطلاعات پایه صحنه را استخراج میکند، آن را به مدل زبانی میفرستد و پیشنهادهای بهینهسازی را دریافت میکند.
import json
import urllib.request
import urllib.error
from collections import Counter
from pymxs import runtime as rt
API_KEY = "YOUR_DARVAREH_API_KEY"
MODEL_ID = "YOUR_MODEL_ID"
ENDPOINT = "https://api.darvareh.ir/v1/chat/completions"
def collect_scene_report():
nodes = list(rt.objects)
names = [str(node.name) for node in nodes]
name_counts = Counter(names)
hidden = []
without_material = []
duplicates = {}
for node in nodes:
if node.isHidden:
hidden.append(str(node.name))
if node.material is None:
without_material.append(str(node.name))
for name, count in name_counts.items():
if count > 1:
duplicates[name] = count
return {
"total_objects": len(nodes),
"hidden_objects_count": len(hidden),
"hidden_objects_sample": hidden[:30],
"objects_without_material_count": len(without_material),
"objects_without_material_sample": without_material[:30],
"duplicate_names": duplicates,
"current_renderer": str(rt.renderers.current)
}
def ask_darvareh(scene_report):
system_prompt = """
تو یک متخصص Pipeline و بهینهسازی صحنه در Autodesk 3ds Max هستی.
گزارش ورودی را تحلیل کن و فقط پیشنهادهای کمریسک و قابلبررسی ارائه بده.
هیچ کدی برای حذف آبجکت، بازنویسی فایل یا اجرای فرمان مخرب تولید نکن.
پاسخ را به فارسی و در سه بخش ضروری، مهم و اختیاری بنویس.
"""
user_prompt = f"""
گزارش صحنه 3ds Max:
{json.dumps(scene_report, ensure_ascii=False, indent=2)}
موارد زیر را بررسی کن:
- کیفیت نامگذاری
- آبجکتهای بدون متریال
- آبجکتهای مخفی
- احتمال وجود داده اضافی
- پیشنهاد برای ساختار لایهها
- چکلیست پیش از رندر
"""
payload = {
"model": MODEL_ID,
"messages": [
{
"role": "system",
"content": system_prompt
},
{
"role": "user",
"content": user_prompt
}
],
"temperature": 0.2
}
request = urllib.request.Request(
ENDPOINT,
data=json.dumps(payload).encode("utf-8"),
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
method="POST"
)
try:
with urllib.request.urlopen(request, timeout=90) as response:
result = json.loads(response.read().decode("utf-8"))
return result["choices"][0]["message"]["content"]
except urllib.error.HTTPError as error:
details = error.read().decode("utf-8", errors="replace")
return f"HTTP Error {error.code}: {details}"
except urllib.error.URLError as error:
return f"Connection Error: {error.reason}"
except Exception as error:
return f"Unexpected Error: {error}"
report = collect_scene_report()
analysis = ask_darvareh(report)
print("Scene report:")
print(json.dumps(report, ensure_ascii=False, indent=2))
print("\nDarvareh analysis:")
print(analysis)
روش اجرای اسکریپت در 3ds Max
- یک کپی از فایل پروژه تهیه کنید.
- کد را در فایلی مانند
darvareh_scene_audit.pyذخیره کنید. - مقادیر
API_KEYوMODEL_IDرا تنظیم کنید. - در 3ds Max به بخش
Scripting > Run Scriptبروید. - فایل Python را انتخاب کنید.
- خروجی را در Listener یا محیط خروجی Python مشاهده کنید.
- پیشنهادها را بررسی و بهصورت دستی اعمال کنید.
Python در 3ds Max از طریق pymxs به بسیاری از کلاسها و Interfaceهای MAXScript دسترسی دارد. اتودسک در معرفی pymxs نمونههایی مانند ساخت آبجکت و دسترسی به Runtime را توضیح داده است.
چرا اسکریپت فقط گزارش تولید میکند؟
اجرای خودکار کد تولیدشده توسط مدل زبانی میتواند خطرناک باشد. یک کد اشتباه ممکن است:
- آبجکتها را حذف کند
- Modifier Stack را Collapse کند
- نام فایلها را تغییر دهد
- Mapها را جابهجا کند
- تنظیمات رندر را بازنویسی کند
- صحنه را ذخیره و نسخه قبلی را جایگزین کند
معماری امنتر به این صورت است:
- اسکریپت فقط دادههای ضروری را جمعآوری کند.
- مدل هوش مصنوعی پیشنهاد ارائه دهد.
- کاربر پیشنهاد را بازبینی کند.
- عملیات انتخابشده بهصورت دستی یا با ابزار محدود اجرا شود.
- تمام تغییرات در Undo Chunk قرار بگیرد.
- پیش از تغییر، نسخه پشتیبان ایجاد شود.
استفاده امن از هوش مصنوعی برای تولید MAXScript
پرامپت تولید کد باید محدود و دقیق باشد:
برای Autodesk 3ds Max یک MAXScript تولید کن.
هدف:
نام تمام آبجکتهای انتخابشده با پیشوند FURNITURE و شماره سهرقمی تغییر کند.
محدودیتها:
- فقط روی Selection کار کند
- هیچ آبجکتی حذف نشود
- فایل ذخیره نشود
- Modifier Stack تغییر نکند
- متریالها دستنخورده باقی بمانند
- عملیات داخل Undo Context قرار بگیرد
- در پایان تعداد آبجکتهای تغییرنامیافته گزارش شود
- کد را توضیح بده
نسخه مناسبتر کد:
undo "Rename Selected Objects" on
(
local prefix = "FURNITURE"
local selectedObjects = selection as array
for index = 1 to selectedObjects.count do
(
selectedObjects[index].name =
prefix + "_" + formattedPrint index format:"03d"
)
format "Renamed % objects.\n" selectedObjects.count
)
حتی این کد ساده را نیز ابتدا روی یک صحنه آزمایشی اجرا کنید.
طراحی یک دستیار داخلی برای 3ds Max
نسخه حرفهایتر میتواند یک پنل داخلی داشته باشد که این قابلیتها را ارائه دهد:
- فیلد Brief پروژه
- انتخاب نوع کار: معماری، محصول، انیمیشن یا بازی
- دکمه تحلیل صحنه
- دکمه تولید قرارداد نامگذاری
- دکمه ساخت چکلیست رندر
- دکمه توضیح خطای Renderer
- دکمه تولید MAXScript
- کادر نمایش و ویرایش پاسخ
- دکمه Copy، بدون اجرای خودکار کد
برای ساخت رابط میتوان از PySide همراه Python استفاده کرد. مستندات اتودسک PySide را برای ایجاد رابطهای Python در 3ds Max معرفی میکند و توضیح میدهد که رابط اصلی نرمافزار هنگام اجرای طولانی اسکریپت ممکن است موقتاً پاسخگو نباشد. جزئیات در راهنمای ساخت رابط Python موجود است.
مدیریت کلید API به روش مناسبتر
قرار دادن کلید داخل کد برای نمونه آموزشی قابلفهم است، اما در پروژه واقعی بهتر است از متغیر محیطی استفاده کنید.
در Windows PowerShell:
setx DARVAREH_API_KEY "YOUR_DARVAREH_API_KEY"
پس از بازکردن مجدد 3ds Max، در Python:
import os
API_KEY = os.getenv("DARVAREH_API_KEY")
if not API_KEY:
raise RuntimeError("DARVAREH_API_KEY is not configured.")
مزایا:
- کلید وارد فایل اسکریپت نمیشود
- احتمال انتشار تصادفی کاهش مییابد
- تعویض کلید آسانتر میشود
- یک کد مشترک در چند سیستم قابلاستفاده است
جریان کاری کامل برای پروژه معماری
یک Workflow قابلاجرا میتواند به این شکل باشد:
فاز اول: دریافت نیازمندی
Brief کارفرما را به ساختار مشخص تبدیل کنید:
- نوع پروژه
- ابعاد و محدودیتها
- سبک
- رنگها
- متریالها
- نیازهای عملکردی
- بودجه تقریبی
- موعد تحویل
- نوع خروجی
فاز دوم: کانسپت
چند تصویر مرجع با ترکیببندیهای مختلف بسازید. تصاویر را بهعنوان ایده بررسی کنید، نه نقشه اجرایی.
فاز سوم: برنامه مدلسازی
کانسپت را به فهرست آبجکتها، لایهها، متریالها و مراحل اجرا تبدیل کنید.
فاز چهارم: Blockout
فضا، حجم، دوربین و نور اصلی را با هندسه ساده بسازید.
فاز پنجم: مدلسازی دقیق
آبجکتهای اصلی را با Modifier Stack غیرمخرب توسعه دهید و برای عناصر تکراری از Instance استفاده کنید.
فاز ششم: بهینهسازی
مدلهای سنگین یا تولیدشده توسط ابزارهای مولد را پاکسازی و Retopology کنید.
فاز هفتم: متریال
تکسچرهای PBR را تولید یا جمعآوری کنید، سپس مقیاس، Gamma، Roughness، Normal و Displacement را کنترل کنید.
فاز هشتم: نور و رندر آزمایشی
با Resolution پایین، نور، Exposure و ترکیببندی را تثبیت کنید.
فاز نهم: تحلیل رندر
رندر آزمایشی را به مدل بینایی بدهید و خروجی را به چکلیست اصلاحات تبدیل کنید.
فاز دهم: کنترل صحنه
اسکریپت Scene Audit را اجرا کنید و نامها، متریالها، آبجکتهای مخفی و تنظیمات را کنترل کنید.
فاز یازدهم: رندر نهایی
Sampling مناسب را تنظیم کنید و سپس Denoiser را با شدت کنترلشده به کار ببرید.
فاز دوازدهم: کنترل انسانی
ابعاد، نور، متریال، برندها، فایلهای مرجع و نیازهای قراردادی باید توسط متخصص پروژه تأیید شوند.
چکلیست پیش از رندر نهایی
هندسه
- مقیاس آبجکتها درست است
- سطح تکراری یا همپوشان وجود ندارد
- Normalها صحیحاند
- لبههای ضروری Chamfer دارند
- مدلهای دوردست بیش از حد سنگین نیستند
- آبجکتهای تکراری Instance شدهاند
متریال
- Map مفقود وجود ندارد
- مقیاس تکسچرها واقعی است
- Base Color نور و سایه مصنوعی ندارد
- Roughness بیش از حد یکنواخت نیست
- Normal Map درست تنظیم شده است
- Displacement کنترل شده است
نور
- منبع نور مشخص است
- سایهها جهت منطقی دارند
- نقاط سوخته کنترل شدهاند
- فضای تاریک کاملاً بدون جزئیات نیست
- دمای رنگ نورها هدفمند است
دوربین
- ارتفاع دوربین مناسب است
- Verticalها کنترل شدهاند
- لنز بیش از حد واید نیست
- نقطه توجه تصویر مشخص است
- فضای خالی بدون هدف وجود ندارد
صحنه
- نامگذاری قابلفهم است
- لایهها ساختار مشخص دارند
- آبجکت مخفی فراموششده وجود ندارد
- مسیر Assetها معتبر است
- نسخه پشتیبان ایجاد شده است
- تنظیمات Output و Frame Range صحیحاند
اشتباهات رایج
استفاده از تصویر هوش مصنوعی بهعنوان نقشه اجرایی
تصویر مولد ممکن است پنجره، پله، مبلمان و اتصالهای غیرممکن ایجاد کند. از آن برای ایده استفاده کنید، نه اندازهگذاری قطعی.
انتظار ساخت مدل نهایی با یک کلیک
مدلهای Text-to-3D یا Image-to-3D معمولاً برای پیشنمایش و Blockout مفیدند، اما اغلب به اصلاح مش، UV و متریال نیاز دارند.
اجرای مستقیم اسکریپت تولیدشده
کد را روی نسخه اصلی پروژه اجرا نکنید. ابتدا آن را بخوانید، روی صحنه آزمایشی اجرا کنید و محدوده عملیات را کنترل کنید.
استفاده افراطی از Denoiser
Denoiser قوی میتواند بافتهای ریز و لبههای ظریف را نرم کند. ابتدا علت نویز را اصلاح کنید.
ارسال اطلاعات محرمانه پروژه
پلانها، نام مشتری، مسیر فایلهای داخلی، قراردادها یا دادههای حساس را بدون مجوز به سرویسهای بیرونی ارسال نکنید. برای تحلیل صحنه فقط اطلاعات ضروری را استخراج کنید.
نادیدهگرفتن مجوز داراییها
خروجی هوش مصنوعی یا تکسچر تولیدشده باید از نظر شرایط استفاده، حقوق برند و مجوز بهرهبرداری بررسی شود.
بهترین تقسیم وظیفه میان انسان و هوش مصنوعی
| وظیفه | هوش مصنوعی | متخصص |
|---|---|---|
| تولید چند ایده اولیه | بسیار مناسب | انتخاب و هدایت |
| استخراج فهرست اجزا | مناسب | تأیید فنی |
| پیشنهاد ساختار لایهها | مناسب | تطبیق با Pipeline |
| تولید کد اولیه | مناسب | بازبینی و آزمایش |
| انتخاب ابعاد اجرایی | نامناسب بهتنهایی | مسئول اصلی |
| کنترل استاندارد معماری | دستیار | مسئول اصلی |
| نقد رندر | مناسب | تصمیم نهایی |
| تحویل پروژه | نامناسب بهتنهایی | مسئول کامل |
پرسشهای متداول
آیا 3ds Max خودش هوش مصنوعی مولد داخلی دارد؟
3ds Max ابزارهای پیشرفتهای برای Retopology، رندر، اسکریپتنویسی، Python و اتوماسیون دارد، اما نباید آن را یک سامانه کامل Text-to-3D دانست. بسیاری از قابلیتهای مولد از طریق ابزارهای بیرونی، افزونهها یا API به جریان کاری اضافه میشوند.
آیا میتوان با متن، مدل سهبعدی کامل ساخت؟
میتوان مدل اولیه تولید کرد، اما برای استفاده حرفهای معمولاً به اصلاح توپولوژی، UV، مقیاس، متریال و جزئیات نیاز است.
آیا هوش مصنوعی میتواند MAXScript بنویسد؟
بله، مدلهای زبانی میتوانند نسخه اولیه MAXScript تولید کنند؛ بااینحال کد باید قبل از اجرا بررسی و در محیط آزمایشی امتحان شود.
آیا اتصال درواره به 3ds Max به افزونه نیاز دارد؟
خیر. برای یکپارچهسازی اولیه میتوان از Python داخلی 3ds Max و درخواست HTTP استفاده کرد. برای تجربه کاربری بهتر میتوانید بعداً یک پنل PySide یا ابزار اختصاصی بسازید.
کدام مدل برای تولید اسکریپت مناسب است؟
مدلی را انتخاب کنید که در تولید و تحلیل کد عملکرد مناسبی داشته باشد. فهرست مدلها، شناسه و قیمت بهروز در صفحه مدلهای درواره ارائه میشود.
آیا میتوان رندر را برای تحلیل به مدل هوش مصنوعی فرستاد؟
اگر مدل انتخابی از ورودی تصویر پشتیبانی کند، میتوانید رندر را برای بررسی نور، ترکیببندی، متریال و خطاهای ظاهری ارسال کنید. پاسخ مدل باید توسط هنرمند سهبعدی ارزیابی شود.
آیا Retopology کیفیت مدل را همیشه بهتر میکند؟
خیر. Retopology میتواند ساختار مش را بهتر کند، اما تنظیم Face Count نامناسب یا پردازش بدون توجه به لبههای مهم ممکن است جزئیات و Silhouette را خراب کند.
آیا هوش مصنوعی جایگزین متخصص 3ds Max میشود؟
هوش مصنوعی بیشتر نقش شتابدهنده دارد. دانش مدلسازی، نور، متریال، دوربین، معماری و کنترل فنی همچنان تعیینکننده کیفیت خروجی است.
جمعبندی
هوش مصنوعی در 3ds Max زمانی بیشترین ارزش را ایجاد میکند که در یک جریان کاری کنترلشده قرار بگیرد. ایدهپردازی، تبدیل Brief به برنامه مدلسازی، تولید تکسچر، تحلیل صحنه، ساخت اسکریپت، نقد رندر و تهیه چکلیست از بهترین کاربردهای فعلی آن هستند.
برای رسیدن به نتیجه حرفهای:
- تصاویر مولد را مرجع ایده بدانید، نه نقشه اجرایی
- مدلهای تولیدشده را از نظر توپولوژی و UV اصلاح کنید
- از Retopology متناسب با کاربرد استفاده کنید
- متریالهای PBR را از نظر مقیاس و خصوصیات فیزیکی کنترل کنید
- کد تولیدشده را بدون بررسی اجرا نکنید
- Denoiser را جایگزین Sampling صحیح ندانید
- تحلیل مدل بینایی را به چکلیست تبدیل کنید
- تصمیم نهایی را به متخصص پروژه بسپارید
اگر میخواهید برای 3ds Max یک دستیار داخلی، Scene Auditor، تولیدکننده پرامپت، تحلیلگر رندر یا ابزار اتوماسیون اختصاصی بسازید، میتوانید از API سازگار درواره استفاده کنید. برای شروع به درواره مراجعه کرده و مدل مناسب پروژه را از صفحه مدلها و قیمتها انتخاب کنید.
مقالات مرتبط
- هوش مصنوعی در معماری؛ آموزش طراحی ساختمان، پلان، نما و رندر
- هوش مصنوعی طراحی داخلی؛ بازطراحی اتاق و دکوراسیون
- افزایش کیفیت عکس با هوش مصنوعی
- ویرایش عکس با هوش مصنوعی؛ راهنمای کامل و کاربردی
- آموزش کامل مهندسی پرامپت و پرامپتنویسی
- API تولید تصویر هوش مصنوعی درواره
برای مطالعه شرایط استفاده و محدودیتهای مسئولیت، صفحه «سلب مسئولیت» را مشاهده کنید.