خلاصه
Switch MAT به شما اجازه میدهد بین چند متریال مختلف جابهجا شوید.
خلاصه
پارامترها – صفحه Switch
پارامترها – صفحه Deform
پارامترها – صفحه Common
4.1 ترکیب (Blending)
4.2 تست عمق (Depth Test)
4.3 تست آلفا (Alpha Test)
4.4 وایرفریم (Wire Frame)
4.5 حذف وجه (Cull Face)
4.6 جابجایی عمق چندضلعی (Polygon Depth Offset)
ورودیهای اپراتور
کانالهای Info CHOP
6.1 کانالهای عمومی MAT
6.2 کانالهای عمومی اپراتور
پارامترها – صفحه Switch
Index (index): مشخص میکند کدام ورودی استفاده شود. اولین ورودی برابر با 0 است.
پارامترها – صفحه Deform
(برای اطلاعات بیشتر مقاله Deform در TouchDesigner را ببینید)
Deform (dodeform): فعالکردن تغییر شکل برای این متریال.
Get Bone Data (deformdata): مشخص میکند دادههای استخوان از کجا گرفته شود:
از یک SOP
از یک MAT دیگر
از یک DeformIn MAT
SOP با دادهی Capture (targetsop): مشخص میکند کدام SOP شامل ویژگیهای capture است.
ویژگی pCaptPath (pcaptpath): نام ویژگی pCaptPath که باید استفاده شود. وقتی هندسه از Bone Group SOP عبور کند، ویژگیها به صورت pCaptPath0، pCaptPath1 و … تقسیم میشوند. فقط یک گروه استخوانی را میتوان در هر زمان رندر کرد.
ویژگی pCaptData (pcaptdata): مشابه pCaptPath.
Skeleton Root Path (skelrootpath): مسیر COMP که ریشه اسکلت در آن قرار دارد.
MAT (mat): وقتی دادههای deform از یک MAT یا Deform In MAT گرفته میشود، اینجا MAT مشخص میشود.
پارامترها – صفحه Common
Blending (ترکیب / شفافیت)
Blending (blending): فعال/غیرفعالکردن ترکیب. (برای اطلاعات بیشتر مقاله Transparency را ببینید.)
Source Color (srcblend): رنگ منبع که با رنگ پیکسل نوشتهشده در Color Buffer ضرب میشود. گزینهها:
صفر (zero)
رنگ مقصد (Dest Color)
یک منهای رنگ مقصد (One Minus Dest Color)
آلفای منبع (Source Alpha)
…
Destination Color (destblend): رنگ مقصد که با رنگ پیکسلی که در حال حاضر در Color Buffer است ضرب میشود. گزینهها:
یک (one)
رنگ منبع (Src Color)
یک منهای رنگ منبع
آلفای منبع
صفر و …
Separate Alpha Function: فعال/غیرفعالکردن ترکیب جداگانه برای مقادیر آلفا.
Source Alpha (srcblenda): آلفای منبع برای ترکیب.
Destination Alpha (destblenda): آلفای مقصد برای ترکیب.
Depth Test (تست عمق)
تست عمق مقادیر عمق پیکسلی که در حال رسم است را با پیکسل موجود در Frame Buffer مقایسه میکند.
اگر پیکسل جدید جلوتر باشد → روی پیکسل قبلی رسم میشود.
اگر عقبتر باشد → رسم نمیشود.
این کار باعث میشود هندسههای سهبعدی درست همدیگر را بپوشانند.
Depth Test (depthtest): فعال/غیرفعالکردن تست عمق.
Depth Test Function (depthfunc): نوع مقایسه (کمتر، برابر، بزرگتر، همیشه و …).
Write Depth Values (depthwriting): اگر فعال باشد، مقادیر عمق نوشته میشوند.
Alpha Test (تست آلفا)
تست آلفا امکان میدهد که بر اساس مقدار آلفا تصمیم بگیریم یک پیکسل رسم شود یا نه.
Discard Pixels Based on Alpha (alphatest): فعال/غیرفعالکردن تست آلفا.
Keep Pixels with Alpha (alphafunc): نوع مقایسه مقدار آلفا با آستانه. (کمتر، بزرگتر، برابر و …).
Alpha Threshold (alphathreshold): مقدار آستانه آلفا. پیکسلهایی که آلفای آنها بیشتر از این مقدار باشد رسم میشوند.
Wire Frame (وایرفریم)
هندسه را به صورت شبکهای (wireframe) رندر میکند. Primitiveها بر اساس مثلث/نوار مثلثی نمایش داده میشوند.
Wire Frame (wireframe): فعال/غیرفعالکردن وایرفریم (حالت خاموش، OpenGL Tesselated، توپولوژی).
Line Width (wirewidth): ضخامت خطوط (بر حسب پیکسل).
Cull Face (حذف وجه)
مشخص میکند کدام وجهها از رندر حذف شوند (برای بهینهسازی یا حذف خطاها).
گزینهها:
Use Render Setting: استفاده از تنظیمات Render TOP.
Neither: هیچ وجهی حذف نشود.
Back Faces: حذف وجههای پشتی.
Front Faces: حذف وجههای جلویی.
Both Faces: حذف هر دو (هیچچیزی رندر نمیشود).
Polygon Depth Offset (جابجایی عمق چندضلعی)
چندضلعیها را کمی به عقب هل میدهد تا از مشکل Z-Fighting (وقتی دو چندضلعی روی هم قرار دارند) جلوگیری کند.
Polygon Depth Offset (polygonoffset): فعال/غیرفعالکردن این قابلیت.
Offset Factor / Offset Units: میزان جابجایی.
(این قابلیت برای سایهها هم مهم است.)
ورودیهای اپراتور
Input 0: اولین متریال ورودی.
کانالهای Info CHOP
اطلاعات اضافی Switch MAT از طریق یک Info CHOP قابل دسترسی است:
Common Operator Info Channels
total_cooks: تعداد دفعات اجرای اپراتور از شروع پروسه.
cook_time: مدتزمان آخرین اجرا (ms).
cook_frame: شماره فریم آخرین اجرا (نسبت به تایملاین کامپوننت).
cook_abs_frame: شماره فریم آخرین اجرا (نسبت به زمان مطلق).
cook_start_time: زمان شروع اجرا (ms).
cook_end_time: زمان پایان اجرا (ms).
cooked_this_frame: اگر در این فریم اجرا شده = 1.
warnings: تعداد هشدارها.
errors: تعداد خطاها.