خلاصه (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→ تعداد خطاها.
