آموزش Copy SOP در نرم افزار Touchdesigner
فیم آموزشی Yourube
فیلم آموزشی aparat
خلاصه
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 =
sides -
Value =
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 – تعداد خطاها.
