خلاصه (Summary)
Polyspline SOP یک منحنی اسپلاین را بر اساس یک چندضلعی یا hull (پوسته) ایجاد میکند و سپس یک تقریب چندضلعی از آن اسپلاین را خروجی میدهد.
میتوان انتخاب کرد که تقسیمبندیها بین نقاط اصلی انجام شوند یا اینکه موقعیت نقاط اصلی نادیده گرفته شود و شکل به بخشهایی با طول مساوی تقسیم شود.
همچنین Polyspline میتواند بهصورت اختیاری خروجی را بازنمونهگیری (Resample) کند و کنترل دقیقتری بر طول و تعداد بخشها بدهد.
💡 نکته: هنگام استفاده از این SOP، بهتر است نمایش Points را در تنظیمات Viewport فعال کنید تا دقیقاً اثر این عملگر را مشاهده کنید.
پارامترها (Parameters – Page)
-
Group (group): زیرمجموعهای از وجوه (faces) ورودی که باید استفاده شوند. از الگوهای Pattern Matching پشتیبانی میکند.
-
Spline Type (basis): نوع اسپلاین. ۷ انتخاب موجود است:
-
Bezier: اسپلاین استاندارد بزیه.
-
Special Bezier (sbezier): تغییر یافته بزیه.
-
Special Smooth Bezier (c1bezier): نسخه نرمتر بزیه.
-
Degree 2 Bezier (degree2): بزیه درجه ۲.
-
BSpline: منحنی نرمتر که الزاماً از نقاط اصلی عبور نمیکند.
-
Cardinal: منحنی از نقاط اصلی عبور میکند.
-
Linear: خطوط مستقیم بین نقاط.
-
-
Close (closure): تعیین میکند که منحنی خروجی باز باشد یا بسته:
-
Off: باز.
-
On: بسته.
-
If polygon does: بر اساس وضعیت چندضلعی ورودی (اگر بسته باشد، خروجی بسته است و بالعکس).
-
-
Division Method (divide): روش تقسیمبندی منحنی:
-
Standard: بازنمونهگیری انجام نشود.
-
Even Length Segments: بخشها طول مساوی داشته باشند.
-
Even X Segments: بخشها طول مساوی در محور X داشته باشند.
-
Even Y Segments: بخشها طول مساوی در محور Y داشته باشند.
-
Even Z Segments: بخشها طول مساوی در محور Z داشته باشند.
-
-
Segment Length (segsize): طول بخشها در منحنی بازنمونهگیریشده.
-
اگر روش Even Length Segments انتخاب شود و Output Divisions برابر صفر باشد، این پارامتر تعیین میکند چند بخش در کل منحنی ایجاد شود.
-
اگر هم Output Divisions و هم Segment Length صفر باشند → خطا (Invalid number of divisions or segment size).
-
-
Output Divisions (polydivs): تعداد بخشها در منحنی بازنمونهگیریشده.
-
در حالت Standard بیاثر است.
-
در حالت Even Length Segments تعداد یالهای خروجی را مشخص میکند.
-
-
Sample Divisions (edgedivs): تعداد تقسیمات اولیه اسپلاین قبل از بازنمونهگیری.
-
First CV Count (first): تعداد دفعات تکرار اولین کنترلورتیس (CV).
-
برای مشهای باز مفید است چون باعث میشود منحنی تا ابتدای خط ورودی ادامه پیدا کند.
-
مثال: مقدار ۲ → منحنی Cardinal تا اولین ورتیس ادامه مییابد؛ مقدار ۳ → B-Spline تا اولین ورتیس ادامه مییابد.
-
-
Last CV Count (last): مشابه بالا ولی برای آخرین کنترلورتیس.
-
CV Tension (tension): کششی که نقاط ورودی بر منحنی وارد میکنند.
-
هرچه بیشتر باشد، شکل خروجی نزدیکتر به شکل اصلی خواهد بود.
-
ورودیها (Operator Inputs)
-
Input 0: چندضلعی یا hull ورودی.
کانالهای Info (Info CHOP Channels)
🔹 Common SOP Info Channels
-
num_points→ تعداد نقاط در این SOP. -
num_prims→ تعداد پرایمیتیوها (چندضلعیها). -
num_particles→ تعداد ذرات. -
last_vbo_update_time→ زمان صرفشده در رشته دیگر برای آپدیت دادههای هندسی روی GPU. -
last_meta_vbo_update_time→ زمان صرفشده برای آپدیت دادههای سطوح متا (مثل metaballs یا NURBS).
🔹 Common Operator Info Channels
-
total_cooks→ تعداد دفعات Cook از شروع. -
cook_time→ مدتزمان آخرین Cook (ms). -
cook_frame→ شماره فریم آخرین Cook (نسبت به تایملاین). -
cook_abs_frame→ شماره فریم مطلق آخرین Cook. -
cook_start_time→ زمان شروع Cook (ms). -
cook_end_time→ زمان پایان Cook (ms). -
cooked_this_frame→ آیا در این فریم Cook شده است (۱ یا ۰). -
warnings→ تعداد هشدارها. -
errors→ تعداد خطاها.
