Fillet SOP
خلاصه
Fillet SOP برای ایجاد یک هندسهی پلمانند و نرم بین دو منحنی/چندضلعی یا دو سطح/مش استفاده میشود.
فیلهکردن یک primitive جدید بین هر جفت ورودی ایجاد میکند و هیچوقت شکلهای اصلی را تغییر نمیدهد. این در تضاد با Join SOP و Stitch SOP است. در حالیکه Join SOP انتهای primitives متصل را تغییر میدهد و Stitch SOP شکلهای اصلی را تغییر میدهد اما تعداد primitives خروجی را تغییر نمیدهد.
برای توضیح دربارهی primitives «چپ» و «راست» و همچنین ورودی کمکی (auxiliary input) به Align SOP مراجعه کنید.
نکته: منحنیهای Trim در فیله در نظر گرفته نمیشوند. برای این کار از Join SOP استفاده کنید.
پارامترها – صفحه
Group group: مشخص میکند کدام primitives فیله شوند. اگر خالی بماند، کل ورودی فیله میشود. از الگوها مطابق توضیحات Pattern Matching پشتیبانی میکند.
Fillet fillet ⊞: امکان فیله کردن زیرگروههایی از N primitive یا هر nامین primitive به صورت چرخهای را میدهد.
مثال: اگر شش primitive با شمارههای 0 تا 5 داشته باشیم و N = 2:
حالت Groups: فیله بین 0-1، 2-3، 4-5
حالت Skipping: فیله بین 0-2-4 و 1-3-5
N inc: تعداد primitives برای گروهبندی یا پرش را مشخص میکند.
Wrap Last to First loop: ابتدا و انتهای اولین primitive را به آخرین primitive فیلهشده وصل میکند. اگر فقط یک primitive وجود داشته باشد، بین ابتدا و انتهای آن فیله ایجاد میشود.
Direction dir ⊞: جهت پارامتریک عملیات فیله را مشخص میکند. این گزینه فقط وقتی معنی دارد که ورودیها سطوح باشند.
in U ujoin: ستونها
in V vjoin: ردیفها
Primitive Type primtype – ⊞ – نوع پرمیتیوی که توسط فیلت ایجاد خواهد شد را انتخاب کنید.
Input Geometry Type input – فیلت را بین جفت پرمیتیوهای همنوع ایجاد میکند. اگر جفت پرمیتیوها از نوع متفاوت باشند، نوع عمومیتر انتخاب میشود (مثلاً NURBS بر Bzier، Bzier بر روی پلیگونها).
Polygon polygon – ایجاد فیلت پلیگونی بین جفت پرمیتیوها.
NURBS nurbs – ایجاد فیلت NURBS بین جفت پرمیتیوها با ترتیب مشخص.
Bezier bezier – ایجاد فیلت Bzier بین جفت پرمیتیوها با ترتیب مشخص.
Order order – ترتیب ساخت فیلتهای spline.
Left UV leftuv – ⊞ – نقطه پارامتریک روی هر پرمیتیو سمت چپ که فیلت از آنجا شروع شود.
Right UV rightuv – ⊞ – نقطه پارامتریک روی هر پرمیتیو سمت راست که فیلت از آنجا شروع شود.
LR Width lrwidth – ⊞ – مقدار اول نشاندهنده نسبت فیلت در پرمیتیو سمت چپ، مقدار دوم نشاندهنده نسبت فیلت در پرمیتیو سمت راست.
LR Scale lrscale – ⊞ – برای کنترل جهت و مقیاس اولین و آخرین بخشهای فیلت استفاده میشود.
LR Offset lroffset – ⊞ – موقعیت اولین و آخرین بخشهای فیلت را کنترل میکند.
Match Input to Fillets seamless – اگر فعال شود، ورودیها طوری تغییر میکنند که ایزپارمها از یک پرمیتیو، از طریق فیلت تا پرمیتیو دیگر به صورت پیوسته دیده شوند. همچنین پرمیتیوها به یک نوع و ترتیب ارتقا داده میشوند تا خطاهای رندر کاهش یابد یا حذف شود، البته با هندسه دقیقتر.
Cut Primitives cut – اگر فعال باشد، پرمیتیوها در نقطه شروع فیلت برش داده میشوند.
ورودیهای اپراتور
Input 0: – ورودی اصلی هندسه
Input 1: – ورودی دوم (معمولاً برای فیلت یا مسیر)
کانالهای Info CHOP
اطلاعات اضافی Fillet SOP از طریق Info CHOP قابل دسترسی است.
کانالهای مشترک اطلاعات SOP:
num_points – تعداد نقاط در این SOP
num_prims – تعداد پرمیتیوها در این SOP
num_particles – تعداد ذرات در این SOP
last_vbo_update_time – زمان صرفشده در thread دیگر برای بهروزرسانی دادههای هندسه روی GPU از دادههای CPU SOP. جزو زمان فریم معمولی نیست.
last_meta_vbo_update_time – زمان صرفشده در thread دیگر برای بهروزرسانی هندسه متا روی GPU از دادههای CPU SOP. جزو زمان فریم معمولی نیست.
کانالهای مشترک اطلاعات اپراتور:
total_cooks – تعداد دفعاتی که اپراتور اجرا شده است
cook_time – مدت زمان آخرین اجرا به میلیثانیه
cook_frame – شماره فریم آخرین اجرا نسبت به timeline کامپوننت
cook_abs_frame – شماره فریم آخرین اجرا نسبت به زمان مطلق
cook_start_time – زمان شروع اجرای اپراتور در همان فریم به میلیثانیه
cook_end_time – زمان پایان اجرای اپراتور در همان فریم به میلیثانیه
cooked_this_frame – ۱ اگر اپراتور در این فریم اجرا شده باشد
warnings – تعداد هشدارها در این اپراتور
errors – تعداد خطاها در این اپراتور
