🧩 Refine SOP چیست؟

Refine SOP برای تغییر تراکم نقاط (CVs) در سطوح یا منحنی‌ها به‌کار می‌ره — بدون اینکه شکل ظاهری هندسه تغییر کنه.
به‌صورت خلاصه، باهاش می‌تونی:

  • نقاط بیشتری اضافه کنی (Refine) تا سطح نرم‌تر و دقیق‌تر بشه،

  • یا نقاط اضافی رو حذف کنی (Unrefine) تا داده ساده‌تر و سبک‌تر بشه.

این ابزار مخصوص کار با NURBS، Bezier، و Polygon Surfaceهاست.


🧠 تفاوت بین Refinement و Unrefinement

مفهومتوضیح
Refinement (افزایش جزئیات)تعداد نقاط کنترل (CVs) یا تقسیمات سطح را افزایش می‌دهد تا سطح جزئیات بیشتری پیدا کند. شکل کلی سطح تغییر نمی‌کند، فقط شبکه‌ی هندسی ریزتر می‌شود.
Unrefinement (کاهش جزئیات)برعکس است — نقاط کنترل حذف می‌شوند تا داده سبک‌تر شود. ممکن است اندکی دقت از بین برود (lossy).
نکته مهم:در Refinement سطح کاملاً دقیق و بدون تغییر شکل می‌ماند، اما در Unrefinement ممکن است هندسه اندکی “ذوب” یا نرم‌تر شود چون داده کاهش پیدا می‌کند.

در Unrefinement باید بازه‌ای پارامتری (مثل بین ۰ تا ۱) مشخص کنی که کدام بخش از سطح ساده شود.
برای کل سطح معمولاً از بازه [0,1] استفاده می‌شود.


⚙️ صفحات تنظیمات اصلی

🔸 صفحه‌ی اصلی (Main Parameters)

  • می‌توانی انتخاب کنی این عمل روی کدام گروه از نقاط یا پلی‌گان‌ها انجام شود.

  • پارامترهای First U/V و Second U/V تعیین می‌کنند کدام ناحیه از سطح اصلاح شود (مثل محدوده‌ی افقی و عمودی در UV).


🔸 Refine Page (افزودن جزئیات)

در این بخش تعیین می‌کنی:

  • چند بار سطح تقسیم شود (Divisions

  • و در NURBS چند گره (Knot) جدید اضافه شود (NURB Count).
    این کار باعث می‌شود که بین نقاط کنترل فعلی، نقاط جدیدی اضافه شود.

📍کاربرد عملی: وقتی می‌خواهی سطحی نرم‌تر یا انیمیشن دقیق‌تر بسازی، مثلاً برای deformation یا displacement maps.


🔸 Unrefine Page (کاهش جزئیات)

در این بخش می‌توانی نقاط کنترل یا گره‌ها را حذف کنی:

  • Tolerance U/V: مقدار تلورانس، یعنی تا چه اندازه حذف نقاط باعث تغییر در شکل می‌شود.
    اگر تلورانس کوچک باشد، فقط نقاطی حذف می‌شوند که تقریباً هیچ اثری بر شکل ندارند.

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


🔸 Subdivide Page (زیرتقسیم یا شکستن هندسه)

Subdivide در واقع نوعی Refinement است، با این تفاوت که شکستگی‌های واضح (Discontinuity) ایجاد می‌کند.
به درد مواقعی می‌خورد که بخواهی سطح در هنگام جابه‌جایی یا Deform شدن، مرزهای تیز و جدا پیدا کند.

در NURBS، Subdivide معادل بیشترین مقدار ممکن refinement است (تعداد تقسیمات = Order سطح – 1).


🔌 ورودی‌ها

فقط یک ورودی دارد: هندسه‌ای که می‌خواهی روی آن عملیات Refinement یا Unrefinement انجام دهی.


📊 اطلاعات قابل مشاهده در Info CHOP

مثل بقیه SOPها، اینجا هم می‌توانی از طریق Info CHOP آمارهای زیر را ببینی:

  • تعداد نقاط (num_points)

  • تعداد primitiveها

  • زمان Cook شدن، تعداد Cookها

  • هشدارها یا خطاها


🎯 خلاصه کاربردی برای کار با TouchDesigner

  • اگر دنبال جزئیات بیشتر و نرمی هندسه هستی → از Refine استفاده کن.

  • اگر دنبال سبک‌تر کردن مدل یا کاهش تعداد نقاط هستی → از Unrefine استفاده کن.

  • اگر می‌خواهی در سطوح NURBS یا Bezier مرزهای تیز و قابل انقطاع بسازی → از Subdivide استفاده کن.