در دنیای سهبعدی و گرافیک کامپیوتری، Nodevember یک چالش هنری ماهانه است که هنرمندان رویههای (procedural artists) را به چالش میکشد تا مرزهای خلاقیت و تکنیکهای نود-محور (node-based) خود را در نرمافزارهایی مانند Blender و Houdini به نمایش بگذارند. در یکی از این چالشها، اریندال وودفورد (Erindale Woodford)، کارگردان فنی متخصص در گردشکارهای رویهای در Blender، پروژهای خیرهکننده را ارائه داد: یک زره تشریفاتی مزین به طلاکاری و نگینهای درخشان. این مقاله به بررسی عمیق تکنیکهای پیشرفتهای میپردازد که اریندال برای خلق این شاهکار در Blender 5.0 و با استفاده از Geometry Nodes به کار برد، و نشان میدهد که چگونه میتوان یک طراحی زره تشریفاتی پیچیده را به صورت کاملاً رویهای ایجاد کرد.

مقدمه
اریندال وودفورد، به عنوان یک متخصص در زمینه گردشکارهای رویهای در نرمافزار Blender، همواره در تلاش بوده تا قابلیتهای این نرمافزار را در برابر ابزارهایی مانند Houdini به اثبات برساند. کانال YouTube، دورههای آنلاین و سرور Discord او منابعی ارزشمند برای علاقهمندان به یادگیری Geometry Nodes و تکنیکهای رویهای هستند.
در چالش Nodevember، که یک رویداد سالانه برای هنرمندان رویهای است، اریندال تصمیم گرفت تا حداکثر تواناییهای سیستم مدلسازی رویهای Blender، یعنی Geometry Nodes را به نمایش بگذارد. موضوع روز هشتم این چالش «جواهرنشان» (Bejewelled) بود و او یک طراحی زره تشریفاتی بسیار مجلل را انتخاب کرد که با سیمکشیهای طلایی (gold filigree) و سنگهای قیمتی پوشیده شده بود. این مدل پیچیده بر چهار تکنیک پیشرفته متکی بود: bi-rail loft، curl noise، deforming to curves و deforming to surfaces. سایر مراحل شامل انتخابها و نمونهسازیهای (instancing) ساده بودند.
ساخت زره
تکنیک bi-rail loft به ما امکان میدهد تا با کشیدن یک منحنی پروفایل (profile curve) در امتداد یک جفت منحنی ریل (rail curves)، پچهای مش (mesh patches) ایجاد کنیم. با نزدیکتر شدن یا دورتر شدن ریلها از یکدیگر، منحنی پروفایل تغییر مقیاس میدهد. اریندال برای حمایت از این روش، یک گروه نود (node group) سفارشی ایجاد کرد که قادر به دریافت چندین منحنی پروفایل بود که در طول loft به یکدیگر درونیابی (interpolated) میشدند.
این روش کنترل بسیار دقیقی بر کانتورهای سطوح پیچیدهای مانند قطعات کمر، سینه و گردن زره فراهم کرد. قطعات بازو به مراتب سادهتر و به صورت استوانههای مخروطی بودند. شانهها فقط مجموعهای از extrusionها بودند، یقه یک دایره بود که در امتداد یک منحنی loft شده بود، و مش پایه زره زنجیری (chain mail) شامل یک جفت icosphere میشد.
جزئیات قطعه سینه
قطعه سینه با استفاده از یک جفت ریل که از سگمنتهای منحنی کوچکتر تشکیل شده بودند و چهار منحنی پروفایل که در طول loft درونیابی شده بودند، ساخته شد. با بهرهگیری از سیستم جدید Closure در Blender 5.0، اریندال توانست یک منحنی float سفارشی را به گروه نود Bi-Rail Loft تزریق کند تا نحوه ترکیب پروفایلها را تنظیم کند. این ویژگی امکان انعطافپذیری و کنترل بینظیری را در شکلدهی به جزئیات پیچیده فراهم میآورد.
نویز Curl (Curl Noise)
یکی از روشهای ابتکاری برای ایجاد فرهای تزئینی هندسه، استفاده از تکنیک curl noise است. این کار با extrusion یک لبه از طریق یک فیلد نویز (noise field) انجام میشود، به طوری که خروجی نویز به عنوان جهت extrusion مورد استفاده قرار میگیرد. اگر نقاط متعددی در مکانهای مختلف extrusion شوند، میتوانیم فیلد نویز را تجسم کنیم. یک رویکرد جایگزین استفاده از چندین نقطه در یک مکان است که هر کدام نویز کمی متفاوتی را نمونهبرداری میکنند، یا با تغییر مقیاس (scale) یا seed. این کار منجر به ایجاد خوشههای زیبایی میشود که میتوان آنها را به مشهایی با موتیفهای برگی شکل تبدیل کرد.
با انتخاب نوارهایی از هندسه از مشهای پایه، میتوانیم مناطق بزرگتری را با curl noise پر کنیم، مانند آنچه در شانههای زره مشاهده میشود. جهت curl noise از حاصلضرب خارجی (cross product) بافت نویز در نرمال سطح (surface normal) به دست میآید. این روش باعث شد که فرها در امتداد سطح رشد کنند. هر چیزی که از لبهها فراتر میرفت، به سادگی از boolean extrusion حذف میشد تا رشد آن متوقف شود.
تزئینات اضافی و بروچها
هنگامی که منحنیها را از یک نقطه واحد با یک offset نویز خفیف ایجاد میکنیم، میتوانیم چیزی بسیار تزئینی بسازیم، و وقتی این طرح آینهای (mirrored) شود، حتی هدفمندتر به نظر میرسد. این فرآیند برای تزئینات اضافی و همچنین دکوراسیون روی بروچها (brooches) مورد استفاده قرار گرفت و به تکمیل طراحی زره تشریفاتی کمک شایانی کرد.
تغییر شکل به منحنیها (Deforming to Curves)
به جای صرفاً نمونهسازی (instancing) یک شیء در امتداد یک منحنی، گاهی اوقات میخواهیم یک خمش پیچیدهتر انجام دهیم که در آن شیء برای دنبال کردن مماس (tangent) و نرمال یک منحنی تغییر شکل میدهد. در مورد پروژه زره، از آنجایی که زحمت زیادی برای loft کردن این سطوح پیچیده کشیده شده، منطقی است که تزئینات بزرگتر نیز با این فرم هماهنگ باشند. به عنوان مثال، لایه ثانویه curl noise طلایی که در اطراف لبههای فولاد اجرا میشود، از منحنیهایی پیروی میکند که از هندسه اصلی استخراج شدهاند.
خود طلاکاریها صرفاً بخشهای کوچکی از curl noise هستند که آینهای شده و سپس در یک خط مستقیم نمونهسازی شدهاند. سپس این خط طلا به منحنیای که از مش پایه استخراج شده، تغییر شکل داده میشود.
چگونگی تغییر شکل به منحنی در Geometry Nodes
چگونه میتوانیم چیزی را به یک منحنی تغییر شکل دهیم؟ اگر هندسه خود را در فضای سهبعدی استاندارد در امتداد سه محور خطی XYZ در نظر بگیریم، هدف ما تبدیل آن به گونهای است که با محور U منحنی (در امتداد منحنی)، محور Normal و محور Bi-Normal منطبق شود.
در Geometry Nodes، این تبدیل نسبتاً ساده است. با استفاده از یک bounding box، میتوانیم مختصات سهبعدی هندسه خود را به محدودههای 0-1 در هر محور نرمالسازی کنیم. سپس، با استفاده از یک نود Sample Curve، میتوانیم موقعیت منحنی را بر اساس یکی از محورهای اصلی خود نمونهبرداری کنیم.
این کار تمام هندسه ما را به یک خط در امتداد منحنی منتقل میکند. سپس باید با افزودن مقادیر سایر محورها که به جهات نرمال و bi-normal مقیاسبندی شدهاند، این هندسه را دوباره متورم کنیم. این فرآیند به طراحی زره تشریفاتی عمق و جزئیات بیشتری میبخشد.
تغییر شکل سطوح (Deforming Surfaces / Mesh Wrapping)
یک سطح بالاتر از تغییر شکل منحنی، تغییر شکل سطح یا Mesh Wrapping است. در این حالت، ما هندسهای داریم که به صورت دوبعدی چیدمان شده و میخواهیم آن را در اطراف یک سطح سهبعدی بپیچانیم. این روش میتواند زمانی بسیار مفید باشد که یک الگوی پیچیده داریم که ساخت آن به صورت مسطح آسانتر است، و یک فرم سهبعدی که ساخت آن با هندسه ساده آسانتر است. نمونهای از این کاربرد، یقه Gambeson است.
در این مورد، ایجاد طرح لحافی (quilting design) و افزودن دوخت به صورت مسطح در صفحه XY بسیار آسانتر است، اما ایجاد چیزی که به نظر میرسد در اطراف گردن قرار میگیرد، با یک نود Curve to Mesh که شعاع یک دایره را در امتداد یک spline کنترل میکند، بسیار راحتتر انجام میشود.
مش پایه یقه ما دقیقاً همین است، و اگر بدانیم چگونه یک الگوی مسطح را روی یک سطح سهبعدی خم کنیم، میتوانیم از هر دو گزینه آسان بهره ببریم. برای این کار، از مختصات UV به صورت هوشمندانه استفاده میکنیم.
استفاده از مختصات UV برای تغییر شکل سطوح
اگر عمدتاً در صفحه XY کار میکنیم، منطقی است که بتوانیم هر موقعیتی را که داریم، به فضای 0-1 برای هر محور دوباره ترسیم (remap) کنیم. این کار سپس نقشهبرداری این هندسه را بر روی UVهای یک شیء سهبعدی آسان میکند. هندسه ما، اگرچه به صورت مسطح چیدمان شده، اما هنوز دارای مقداری ضخامت است، بنابراین باید با استفاده از مؤلفه Z به عنوان یک scalar برای نرمال سطح، آن را متورم کنیم.
به این ترتیب، میتوانیم هندسه را در سطح UV کشیده و سپس آن را در جهت صحیح ضخیم کنیم. اریندال برای پارچه نیز چینوچروکهایی اضافه میکند. او ترجیح میدهد این کار را پس از قرار گرفتن پارچه در موقعیت انجام دهد تا از دنبال کردن آشکار تغییر شکل توسط بافت نویز جلوگیری کند. او از یک نویز مبتنی بر UV map برای دنبال کردن سطح، و یک نویز مبتنی بر موقعیت جهانی (world position) برای ایجاد تغییر شکل کلی استفاده میکند. این جزئیات در تکمیل طراحی زره تشریفاتی اهمیت زیادی دارند.
نتیجهگیری
اریندال وودفورد تقریباً به صورت روزانه از Geometry Nodes استفاده کرده است، از زمانی که این ویژگی به عنوان یک قابلیت آزمایشی در Blender 2.91 Beta در نوامبر 2020 معرفی شد. او همواره از میزان پیشرفت در عملکرد و همچنین طیف گسترده نودهای اضافه شده در هر نسخه جدید، شگفتزده شده است. این پروژه ثابت میکند که Blender ابزاری قدرتمند و انعطافپذیر برای خلق محتوای رویهای است که میتواند نتایجی همتراز با نرمافزارهای پیشرفتهتر تولید کند.
اگرچه اریندال اذعان دارد که این مدل زره میتوانست با رویکردی ترکیبی (blended approach) به جای تکیه صرف بر نودها، کارآمدتر و واقعگرایانهتر ساخته شود، اما این کار با روح چالش Nodevember سازگار نبود. هدف این چالش، به حداکثر رساندن قابلیتهای رویهای و اکتشاف مرزهای Blender Geometry Nodes است. برای مشاهده فرآیند کامل مدلسازی، میتوانید تایملپس (time-lapse) پروژه را در کانال YouTube اریندال مشاهده کنید. همچنین، فایلهای پروژه برای کارهای مشابه اغلب در پلتفرمهایی مانند Patreon برای علاقهمندان قابل دسترسی هستند، که فرصتی عالی برای یادگیری عملی این تکنیکها را فراهم میکند.
سوالات متداول
-
Nodevember چیست؟
Nodevember یک چالش هنری سالانه است که در طول ماه نوامبر برگزار میشود. در این چالش، هنرمندان رویهای سراسر جهان، مهارتهای خود را در مدلسازی و انیمیشنسازی با استفاده از سیستمهای نود-محور (مانند Geometry Nodes در Blender) به نمایش میگذارند و هر روز یک کار جدید بر اساس موضوعی خاص خلق میکنند.
-
چهار تکنیک پیشرفته اصلی در این پروژه کدامند؟
چهار تکنیک پیشرفتهای که اریندال وودفورد برای طراحی زره تشریفاتی نگینکاری شده استفاده کرد عبارتند از: bi-rail loft (برای ساختار اصلی زره)، curl noise (برای تزئینات طلاکاری)، deforming to curves (برای خم کردن تزئینات روی منحنیها) و deforming to surfaces (برای پیچیدن الگوهای دوبعدی روی سطوح سهبعدی).
-
Blender 5.0 چه نقشی در این پروژه ایفا کرد؟
Blender 5.0 با معرفی سیستم جدید Closure، امکانات بیشتری را برای کنترل و تنظیم گروه نود Bi-Rail Loft فراهم کرد. این سیستم به اریندال اجازه داد تا یک منحنی float سفارشی را به گروه نود تزریق کند تا نحوه ترکیب منحنیهای پروفایل را با دقت بیشتری تنظیم کند، که برای خلق جزئیات پیچیده در قطعه سینه زره حیاتی بود.













