خلاصه

Clay SOP چهره‌ها و سطوح را با کشیدن نقاطی که دقیقاً روی آن‌ها قرار دارند، تغییر شکل می‌دهد. برخلاف Point SOP یا سایر SOPهایی که نقاط کنترلی (CV) را دستکاری می‌کنند، Clay SOP مستقیماً روی کانتورهای ابتدایی (primitive) عمل می‌کند و یک روش مستقیم، شهودی و بدون محدودیت برای بازشکل‌دهی هندسه فراهم می‌کند. بنابراین، به جای جابه‌جایی CVها برای تغییر ظاهر primitive، Clay SOP رویکرد معکوسی اتخاذ می‌کند: پوست primitive را تغییر می‌دهد تا CVها جابه‌جا شوند.

نقطه‌ای که ناحیه تغییر را تعریف می‌کند “نقطه هدف” یا به اختصار “هدف” نامیده می‌شود. این نقطه به صورت یک جفت (u,v) در فضای پارامتری primitive بیان می‌شود و بین 0 و 1 در هر دو U و V قرار دارد. تصویر این نقطه هدف روی primitive یک نقطه سه‌بعدی است که Clay می‌تواند آن را به روش‌های مختلف جابه‌جا کند. علاوه بر این، اگر primitive یک سطح باشد، امکان کشیدن تنها یک نقطه یا یک منحنی ایزوپارامتری کامل در جهت U یا V وجود دارد.

Clay چهره‌ها و سطوح را مگر به درخواست کاربر ریزتر (refine) نمی‌کند، بنابراین پیچیدگی هندسه افزایش پیدا نمی‌کند. ناحیه‌ای که تحت‌تأثیر تغییر قرار می‌گیرد بسته به نوع primitive و توپولوژی متغیر است. در همه موارد، می‌توان میزان تغییر را با قرار دادن یک Refine SOP قبل از Clay SOP و افزودن جزئیات اطراف نقطه هدف کاهش داد. برای روش‌های دیگر افزایش محلی‌سازی تغییر شکل و تیزی آن، به بخش U و V Sharpness مراجعه کنید.

اگر یک ورودی دوم وجود داشته باشد، می‌توان نقطه هدف (u,v) را به نقطه (s,t) روی اولین primitive ورودی دوم اسنپ کرد. بدون ورودی دوم، می‌توان primitives را مجبور کرد به خودشان اسنپ شوند. علاوه بر این، Clay SOP قادر است نقطه هدف را به نقاط دلخواه در فضا اسنپ کند.

این SOP و Align SOP هر دو به‌عنوان ابزار اسنپینگ و بلوک‌های سازنده برای شبکه‌های منحنی کاربردی‌اند. تفاوت اصلی این است که Clay بخشی از ورودی‌ها را تغییر شکل می‌دهد، درحالی‌که Align کل primitive را جابه‌جا یا چرخش می‌دهد.

Clay SOP ترکیبی از هر نوع چهره و سطح را می‌پذیرد.


پارامترها – صفحه Clay

  • Group group – مشخص‌کردن گروهی از هندسه برای اعمال تغییر (پشتیبانی از الگوها).

  • Warp Method method – چهار روش مختلف برای تغییر شکل نقاط هدف (U,V) یا منحنی‌های ایزوپارامتری:

    • Matrix – با ماتریس تبدیل.

    • Vector – با بردار و فاصله.

    • Point – اسنپ به یک نقطه سه‌بعدی در فضای شیء.

    • Primitive – اسنپ به نقطه‌ای روی یک primitive دیگر (شامل metaball، quadric، و سیستم ذرات).

  • Transform Order – ترتیب کلی اعمال تبدیلات (Scale, Rotate, Translate).

  • Rotate Order – ترتیب چرخش‌ها (XYZ, XZY, YXZ, YZX, ZXY, ZYX).

  • Translate (tx, ty, tz) – جابه‌جایی در محورهای X, Y, Z.

  • Rotate (rx, ry, rz) – چرخش در محورهای X, Y, Z.

  • Scale (sx, sy, sz) – تغییر مقیاس در محورهای X, Y, Z.

  • Pivot (px, py, pz) – نقطه محوری برای مقیاس و چرخش.

  • Distance – فاصله جابه‌جایی.

  • Normal – اگر روشن باشد، جابه‌جایی در امتداد نرمال primitive در نقطه هدف انجام می‌شود.

  • Direction – جهت بردار وقتی Normal خاموش است.

  • Coordinates – موقعیت مطلق سه‌بعدی که نقطه هدف باید به آن منتقل شود.

  • U و V – مشخص‌کردن مختصات پارامتری برای اسنپ به primitive دیگر.


پارامترها – صفحه U

  • Deform along U – تعیین می‌کند آیا تغییر شکل در راستای U اعمال شود یا خیر.

  • U (target) – موقعیت هدف در فضای پارامتری.

  • U Bias – تنظیم تأثیر بایاس بر کشش نقاط مجاور.

  • U Sharpness – فقط برای منحنی‌ها و سطوح NURBS؛ تعیین تیزی یا نرمی تغییر.


پارامترها – صفحه V

  • Deform along V – تعیین می‌کند آیا تغییر شکل در راستای V اعمال شود یا خیر.

  • V (target) – موقعیت هدف در راستای V.

  • V Bias – تنظیم بایاس مشابه U.

  • V Sharpness – فقط برای سطوح NURBS؛ تعیین تیزی یا نرمی تغییر.


ورودی‌های اپراتور

  • Input 0: هندسه اصلی.

  • Input 1: هندسه برای اسنپینگ (اختیاری).


کانال‌های Info CHOP

اطلاعات اضافی درباره Clay SOP از طریق یک Info CHOP در دسترس است.

کانال‌های عمومی SOP

  • num_points – تعداد نقاط.

  • num_prims – تعداد primitives.

  • num_particles – تعداد ذرات.

  • last_vbo_update_time – زمان آپدیت داده‌های هندسی روی GPU از داده‌های CPU.

  • last_meta_vbo_update_time – زمان آپدیت داده‌های سطحی متا (metaballs, nurbs).

کانال‌های عمومی اپراتور

  • total_cooks – تعداد دفعات cook شدن.

  • cook_time – مدت زمان cook آخر (میلی‌ثانیه).

  • cook_frame – شماره فریم در تایم‌لاین کامپوننت.

  • cook_abs_frame – شماره فریم در زمان مطلق.

  • cook_start_time / cook_end_time – زمان شروع و پایان cook.

  • cooked_this_frame – اگر در این فریم cook شده باشد مقدار 1 دارد.

  • warnings – تعداد هشدارها.

  • errors – تعداد خطاها.