خلاصه
Copy SOP به شما اجازه میدهد از هندسهی سایر SOPها کپی بگیرید و برای هر کپی یک تبدیل (Transformation) اعمال کنید.
همچنین این امکان وجود دارد که هندسه را روی نقاط یک ورودی Template کپی کنید.
پارامترها – صفحهی Copy
Source Group (sourcegrp) – تعیین یک زیرمجموعه از پرایمیتیوهای ورودی که باید کپی شوند. (الگوها طبق Pattern Matching قابل استفاده هستند.)
Template Group (templategrp) – تعیین یک زیرمجموعه از پرایمیتیوهای Template که باید روی آنها کپی انجام شود.
Number of Copies (ncy) – تعداد کپیها را مشخص میکند. اگر ورودی Template وجود داشته باشد، تعداد کپی در هر نقطهی Template تعیین میشود.
Primitives per Point (nprims) – تعیین میکند از هر نقطه چه تعداد پرایمیتیو کپی شود.
Rotate to Normal (nml) – وقتی ورودی Template مشخص است، هندسه کپیشده به نرمال سطح Template جهتگیری میکند. اگر ویژگی up روی Template باشد، همراه با نرمال، جهت کامل چرخشها را تعریف میکند.
Transform Cumulative (cum) – اگر فعال باشد، هر تبدیل بر اساس مکان تبدیل قبلی اعمال میشود (تبدیلهای تجمعی).
Transform Order (xord) – ترتیب کلی انجام تبدیلها (Scale/Rotate/Translate) را تعیین میکند.
Rotate Order (rord) – ترتیب داخلی چرخشها را مشخص میکند (Rx/Ry/Rz).
Translate (t) – انتقال هندسه در محورهای X، Y و Z.
Rotate (r) – چرخش هندسه در محورهای X، Y و Z.
Scale (s) – تغییر مقیاس در محورهای X، Y و Z.
Pivot (p) – نقطهی مرجع برای Transform (محور قرمز در Viewport).
Uniform Scale (scale) – مقیاسدهی یکنواخت در تمام محورها.
Normals Maintain Length (vlength) – طول بردارها (مثل نرمالها) ثابت بماند حتی هنگام Scale.
Create Output Groups (newg) – اگر فعال باشد، برای هر کپی یک گروه خروجی ایجاد میشود.
Copy Groups (copyg) – نام پایه گروههای ساختهشده را مشخص میکند.
Look At (lookat) – جهتگیری هندسه کپیشده به سمت یک شیء مشخص.
Up Vector (upvector) – بردار up برای جلوگیری از مشکلات انیمیشن هنگام Look At.
پارامترها – صفحهی Stamp
Stamping یعنی میتوان پارامترهای هر کپی را بهطور پویا تغییر داد.
Stamp Inputs (stamp) – فعالسازی Stamp برای ورودیها.
Param (copy0param) – نام متغیر Stamp.
Value (copy0value) – مقدار متغیر Stamp.
مقادیر Stamp از طریق متدهای fetchStamp() (در پایتون) یا param() (در tscript) قابل دسترسی هستند.
پارامترها – صفحهی Attributes
این صفحه مشخص میکند که ویژگیهای نقاط Template چگونه روی هندسهی منبع تأثیر میگذارند:
Set – مقدار ویژگی منبع را بازنویسی میکند.
Multiply – ویژگیها را در هم ضرب میکند.
Add – ویژگیها را جمع میکند.
Sub – ویژگیها را کم میکند.
گزینهها برای Point / Primitive / Vertex بهطور جداگانه در دسترس هستند.
نکات (Tips)
میتوانید از
me.copyTotalدر پایتون استفاده کنید تا زاویه چرخش برای تعداد مشخصی کپی محاسبه شود. مثلاً:این کار باعث میشود کپیها به صورت یکنواخت دور یک دایره توزیع شوند.
میتوانید یک Particle SOP را بهعنوان Template استفاده کنید و هندسهای (مثل یک زنبور) را روی هر ذره کپی کنید → نتیجه: دستهای از زنبورها.
میتوانید مجموعهای از کپیها را دور یک محور بسازید و آنها را Skin کنید تا افکتهای Lathe/Revolve بسازید.
مثال – ساخت هندسه با Stamp
یک Circle SOP بسازید و نوعش را روی Polygon بگذارید.
تعداد Divisionها را روی:
fetchStamp("sides", 3)
تنظیم کنید.یک Copy SOP اضافه کنید و Number of Copies را روی 5 بگذارید. Translate X را روی 2.5 تنظیم کنید.
در صفحهی Stamp، گزینه Stamp Inputs را فعال کنید.
Param 1 =
sidesValue =
me.copyIndex + 3
→ نتیجه: کپی اول مثلث میسازد، بعدی مربع، بعدی پنجضلعی و …
ورودیهای Copy SOP
Input 0: هندسهی منبع (Source).
Input 1: Template برای کپیکردن.
کانالهای Info CHOP
اطلاعات اضافی Copy SOP از طریق یک Info CHOP در دسترس است.
Common SOP Info Channels
num_points – تعداد نقاط.
num_prims – تعداد پرایمیتیوها.
num_particles – تعداد ذرات.
last_vbo_update_time – مدتزمان آپدیت هندسه روی GPU از CPU.
last_meta_vbo_update_time – مدتزمان آپدیت هندسهی متا (مثل metaballs یا nurbs) روی GPU.
Common Operator Info Channels
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 شده است یا نه (1/0).
warnings – تعداد هشدارها.
errors – تعداد خطاها.
