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