خلاصه (Summary)
CHOP to SOP کانالهای CHOP را میگیرد و پلیگونهای سهبعدی (3D polygons) در یک SOP تولید میکند. این SOP نمونهها را از CHOP میخواند و آنها را به موقعیت نقاط (point positions) و ویژگیهای نقاط (point attributes) تبدیل میکند. بنابراین مکمل SOP to CHOP است. کانالهایی که توسط SOP to CHOP ایجاد میشوند میتوانند تغییر کنند و دوباره با CHOP to SOP وارد شبکه SOP شوند.
بهطور پیشفرض، SOP یک خط از (-1 0 0) تا (1 0 0) است که شامل یک نقطه برای هر نمونه در CHOP میباشد.
این SOP کانالهای ورودی را به Channel Scope (tx ty tz) متصل میکند. اگر کانالی مطابقت نداشته باشد، مقدار پیشفرض خط استفاده میشود و فقط یک Warning نمایش داده میشود.
سادهترین روش این است که یک کانال به نام ty ارسال کنید تا یک Curve سهبعدی ایجاد شود که شبیه منحنی CHOP باشد.
این SOP همان کاری را انجام میدهد که یک Point SOP با تابع op('wave1')['chan1'].eval(0) میتواند انجام دهد، اما بسیار سریعتر است.
با استفاده از گروههای نقاط از SOP ورودی، کانالها فقط در نقاط آن گروه وارد میشوند.
CHOP to SOP همچنین از ویژگیهای سفارشی (Custom Attributes) پشتیبانی میکند. اگر کاربر کانالی را به ویژگیای که وجود ندارد متصل کند، آن ویژگی به نقاط اضافه میشود. در حال حاضر همه ویژگیهای سفارشی float و اندازه ۱ هستند.
در حالت پیشفرض، SOP تلاش میکند تا موقعیت نقاط P(0) P(1) P(2) را با کانالهای tx ty tz جایگزین کند.
کانالها و ویژگیها ابتدا به نامهای جداگانه گسترش مییابند و یک به یک مطابقت داده میشوند. مثلاً افزودن ویژگیهای سفارشی مانند Scale، Twist یا Roll به نقاط backbone با CHOP to SOP امکانپذیر است.
اگر SOP به ورودی متصل شود، از آن SOP بهعنوان هندسه شروع (Starting Geometry) بهجای خط پیشفرض استفاده میشود.
پارامترها (Parameters – Page)
-
Group group – فقط نقاط موجود در این گروه تغییر میکنند. اگر خالی باشد، همه نقاط تغییر میکنند.
-
CHOP chop – مشخص میکند کدام شبکه یا CHOP دادهها را فراهم میکند.
-
Start Position startpos – ⊞ – تنظیم محدوده برای موقعیتهایی که توسط کانال تعریف نشدهاند.
-
End Position endpos – ⊞ – تنظیم محدوده برای موقعیتهایی که توسط کانال تعریف نشدهاند.
-
Channel Scope chanscope – نام کانالهایی که برای تغییر ویژگیها استفاده میشوند.
-
Attribute Scope attscope – لیست ویژگیهایی که باید در SOP تغییر کنند (مثل P، Pw، Cd، N، uv).
-
Organize by Attribute organize – بهجای استفاده از اندیس نقاط، از مقدار این ویژگی برای دسترسی به CHOP استفاده میکند.
-
Mapping mapping – ⊞ – نحوه نگاشت نمونههای CHOP به نقاط هندسه.
-
One Sample to Each Point onetoone – نگاشت ۱ به ۱ نمونهها به نقاط.
-
Resample CHOP to Fit SOP scale – نمونهها بازنمونهگیری میشوند تا با تعداد نقاط هندسه تطبیق داشته باشند.
-
-
Compute Normals compnml – ایجاد Normalها روی هندسه.
-
Compute Tangents comptang – ایجاد Tangentها روی هندسه.
ورودیها (Operator Inputs)
-
Input 0: –
اطلاعات CHOP (Info CHOP Channels)
اطلاعات اضافی CHOP to SOP از طریق Info CHOP قابل دسترسی است:
-
num_points – تعداد نقاط در این SOP
-
num_prims – تعداد primitiveها
-
num_particles – تعداد ذرات
-
last_vbo_update_time – زمان بروزرسانی هندسه روی GPU در thread دیگر
-
last_meta_vbo_update_time – زمان بروزرسانی هندسه متا روی GPU
-
total_cooks – تعداد بار cook شدن operator
-
cook_time – زمان آخرین cook به میلیثانیه
-
cook_frame – شماره فریم آخرین cook نسبت به timeline
-
cook_abs_frame – شماره فریم آخرین cook نسبت به زمان مطلق
-
cook_start_time – زمان شروع cook در فریم
-
cook_end_time – زمان پایان cook در فریم
-
cooked_this_frame – ۱ اگر operator در این فریم cook شده باشد
-
warnings – تعداد warningها
-
errors – تعداد errorها
