خلاصه
گره Divide SOP هندسهی چندضلعی ورودی را تقسیم میکند. این گره میتواند چندضلعیهای ورودی را هموار کرده، آنها را تقسیم کند و همچنین با استفاده از گزینهی Bricker زیرتقسیم انجام دهد. Bricker بهویژه برای چندضلعیهایی که بیش از چهار ضلع دارند مفید است، چون آنها را به مربعها و مثلثها خرد میکند و این کار اجازه میدهد هنگام استفاده از ابزارهای تغییر شکل (Deformation Tools) سایهگذاری بهدرستی انجام شود.
پارامترها
Group (group) – اگر گروهی در ورودی وجود داشته باشد، با مشخصکردن نام گروه در این قسمت، SOP فقط روی همان گروه اعمال خواهد شد. از الگوها پشتیبانی میکند (طبق توضیحات بخش Pattern Matching).
Convex Polygons (convex) – زمانی که فعال شود، این گزینه تمام چندضلعیهای ورودی را به چندضلعیهای محدب با حداکثر تعداد ضلع مشخصشده در فیلد زیر تبدیل میکند. این ویژگی برای کاهش تعداد اضلاع چندضلعیهای مقعر (که درست سایهگذاری نمیشوند) کاربرد دارد. برای مثال: برای تبدیل همهی چندضلعیهای ورودی به مثلث، این گزینه را فعال کنید و مقدار Maximum Edges را روی ۳ بگذارید. در این حالت همهی چندضلعیها به بیشترین سه ضلع (مثلث) کاهش پیدا میکنند.
Maximum Edges (numsides) – این مقدار حداکثر تعداد اضلاع مجاز برای چندضلعیهای ورودی را مشخص میکند. اگر تعداد اضلاع بیشتر از این باشد، کاهش داده میشود. حداقل مقدار سه است. استفاده از مقادیر کوچک (۳ تا ۶) بهترین نتیجه را دارد، چون چندضلعیهای تولیدشده باریک و کشیده نمیشوند. اگر چندضلعی ورودی اضلاعی کمتر از مقدار مشخصشده داشته باشد، بدون تغییر باقی میماند.
Triangulate Non-Planar (planar) – هر چندضلعی غیرتخت را مثلثبندی میکند.
Smooth Polygons (smooth) – اگر فعال شود، این گزینه چندضلعیهای مجاور که همتراز نیستند (مثل گوشههای یک جعبه) را تقسیم میکند. آستانهی هموارسازی و تعداد تقسیمات چندضلعیها توسط فیلدهای پایین کنترل میشود.
برای عملکرد درست Smooth Polygons، هندسه باید نقاط مشترک داشته باشد. ممکن است لازم باشد هندسه را از طریق Facet SOP > Consolidate Points عبور دهید.
مثال: برای ساخت تاس از یک جعبه، یک Box SOP ایجاد کنید، سپس آن را از Facet SOP > Consolidate Points عبور دهید و بعد به Divide SOP بدهید. گزینهی Smooth Polygons را فعال کنید و فیلدهای Weight را روی
4, 0.5و Divisions را روی2تنظیم کنید.
Weight (weight) – ⊞ – تأثیر محلیسازی تقسیمات را تعیین میکند.
مقادیر بیشتر از ۱ باعث تمرکز تقسیمات روی لبهها و تقویت آنها با هموارسازی انتقال زاویه میشوند.
مقادیر کمتر از ۱ تمایل دارند تقسیمات را به نواحی تختتر منتقل کنند و شکل هندسه را با کشیدن لبهها بهشدت تغییر دهند.
weight1 – مقدار اول.
weight2 – مقدار دوم.
Divisions (divs) – سطح زیرتقسیمات برای گزینهی Smooth Polygons را مشخص میکند.
مقدار ۱ تعداد چندضلعیها در گوشهها را دو برابر میکند.
مقدار ۲ دو برابر بیشتر تقسیم ایجاد میکند.
مقادیر ۳ یا بالاتر تعداد بسیار زیادی چندضلعی اضافه میکنند و باید با احتیاط استفاده شوند (پیچیدگی هندسه بهشکل نمایی افزایش مییابد).
Bricker Polygons (brick) – این گزینه هندسهی چندضلعی ورودی را به مربعهای شبیه شبکه تقسیم میکند (خروجی یک مش واقعی نیست). Bricker چندضلعیهای جدید ایجاد میکند.
کاربردها:
تقسیم یک سطح برای تغییر شکل طبیعیتر هنگام استفاده از Creep SOP یا Lattice SOP.
تقسیم یک سطح تخت به قطعات کوچکتر برای اعمال رنگهای نقطهای با استفاده از Point SOP.
اندازه و موقعیت تقسیمات شبکهای Bricker توسط سه گزینهی زیر مشخص میشود:
Size (size) – ⊞ – اندازهی تقسیمات شبکهی Bricker در سه محور.
X (sizex)
Y (sizey)
Z (sizez)
Offset (offset) – ⊞ – تنظیم موقعیت تقسیمات شبکه نسبت به هندسهی منبع.
X (offsetx)
Y (offsety)
Z (offsetz)
Angle (angle) – ⊞ – زاویهی تقسیمات Bricker نسبت به محورها را مشخص میکند.
X (anglex)
Y (angley)
Z (anglez)
Remove Shared Edges (removesh) – لبههای مشترک را حذف میکند.
Compute Dual (dual) – چندوجهی را به دوگان نقطه/وجه خودش تبدیل میکند.
ورودیهای اپراتور
Input 0 – هندسه ورودی.
کانالهای Info CHOP
اطلاعات اضافی مربوط به Divide SOP از طریق Info CHOP در دسترس است.
کانالهای عمومی SOP Info
num_points – تعداد نقاط موجود در این SOP.
num_prims – تعداد پرایمیتیوها در این SOP.
num_particles – تعداد ذرات در این SOP.
last_vbo_update_time – مدت زمان صرفشده در یک ترد دیگر برای بهروزرسانی دادههای هندسه روی GPU از دادههای CPU این SOP. این زمان جزو زمان معمول فریم محسوب نمیشود.
last_meta_vbo_update_time – مدت زمان صرفشده در یک ترد دیگر برای بهروزرسانی دادههای متاسطح (مانند metaballs یا nurbs) روی GPU از دادههای CPU این SOP. این زمان هم جزو زمان معمول فریم نیست.
کانالهای عمومی Operator Info
total_cooks – تعداد دفعاتی که اپراتور از شروع پردازش cook شده است.
cook_time – مدت زمان آخرین cook بر حسب میلیثانیه.
cook_frame – شماره فریم در تایملاین کامپوننت که اپراتور آخرین بار cook شده است.
cook_abs_frame – شماره فریم مطلقی که اپراتور آخرین بار cook شده است.
cook_start_time – زمان شروع cook در همان فریم (میلیثانیه).
cook_end_time – زمان پایان cook در همان فریم (میلیثانیه).
cooked_this_frame – اگر اپراتور در این فریم cook شده باشد، مقدار آن ۱ است.
warnings – تعداد هشدارهای موجود در اپراتور (در صورت وجود).
errors – تعداد خطاهای موجود در اپراتور (در صورت وجود).
