خلاصه

کامپوننت Geometry یک سطح سه‌بعدی یا یک آبجکت سه‌بعدی است که در TouchDesigner با استفاده از یک Render TOP رندر می‌شود. نورها، دوربین‌ها و سایر کامپوننت‌ها روی صحنه اثر می‌گذارند، اما سطح قابل مشاهده نیستند.

هر کامپوننت Geometry شامل یک شبکه است که در آن SOPها (و انواع دیگر نودها) قرار دارند. SOPها اپراتورهایی هستند که شکل سه‌بعدی را تعریف می‌کنند. این سطوح سه‌بعدی می‌توانند شامل پلی‌گان، ذرات، اسپریت‌ها، مش‌ها، NURBS (با خطوط برش)، پچ‌های بزیه یا متابال‌ها باشند. این سطوح می‌توانند به صورت سطوح شید شده (solid-shaded) یا wireframe نمایش داده شوند.

در شبکه Geometry COMP:

  • SOPهایی که پرچم Render آن‌ها روشن است توسط Render TOP رندر می‌شوند. بیش از یک SOP می‌تواند برای رندر در یک Geometry فعال باشد.

  • SOPهایی که پرچم Display آن‌ها روشن است در Geometry Viewer یا در Camera COMPهای همان شبکه نمایش داده می‌شوند.

🔹 توجه: بیشتر اوقات کاربران پرچم Render و Display را همزمان روشن/خاموش می‌کنند تا همیشه وضعیت یکسان داشته باشند.

برای یادگیری چگونگی مشاهده SOPهایی که برای نمایش فعال شده‌اند، به Geometry Viewer مراجعه کنید.

برخی SOPها مثل Texture SOP تعیین می‌کنند که تکسچرها چگونه روی سطح قرار بگیرند.

هر Geometry نیاز به یک Material (MAT) دارد که به سطح اعمال شود. این متریال می‌تواند از طریق پارامتر Material در خود Geometry یا توسط یک Material SOP اختصاص داده شود.

برای ورود به شبکه Geometry:

  • از اسکرول موس برای زوم استفاده کنید.

  • یا پس از انتخاب Geometry کلید Enter یا i را فشار دهید.


پارامترها – صفحه Xform

صفحه Xform کنترل تبدیل (Transform) کامپوننت در فضای جهانی (World Space) را در اختیار می‌گذارد.

  • Transform Order (ترتیب تبدیل‌ها): مشخص می‌کند ترتیب اعمال Scale، Rotate، Translate چگونه باشد. تغییر این ترتیب مثل تغییر مسیر حرکت است (اول یک بلوک برو بعد شرق، یا اول شرق بعد یک بلوک). در ریاضیات ماتریسی با قرارداد “ضرب بردار در سمت راست”، ترتیب SRT به صورت T * R * S نوشته می‌شود.

  • Rotate Order (ترتیب چرخش‌ها): ترتیب انجام دوران‌ها روی محورهای X، Y، Z. مثلا Rx Ry Rz یعنی ماتریس R = Rz * Ry * Rx.

  • Translate (انتقال): تعیین مقدار جابجایی روی محورهای X، Y، Z.

  • Rotate (چرخش): تعیین زاویه چرخش به درجه حول محورهای X، Y، Z.

  • Scale (مقیاس): تعیین تغییر اندازه در هر محور (یکنواخت یا غیریکنواخت).

  • Pivot (محور چرخش/مقیاس): نقطه‌ای که عملیات Scale یا Rotate حول آن انجام می‌شود. تغییر Pivot نتایج متفاوتی تولید می‌کند.

  • Uniform Scale: تغییر اندازه یکنواخت در هر سه محور.

  • Parent Transform Source: تعیین می‌کند موقعیت اولیه این آبجکت نسبت به چه مرجعی باشد: والد سلسله‌مراتبی، آبجکت مشخص، یا مبدأ جهانی.

  • Look At: آبجکت را به سمت یک Geometry دیگر جهت می‌دهد.

  • Forward Direction: تعیین می‌کند جهت رو به جلو کدام محور است (+X, -X, +Y, -Y, +Z, -Z).

  • Look At Up Vector: مشخص می‌کند آبجکت هنگام Look At کردن چه برداری را به عنوان بالا در نظر بگیرد.

  • Path SOP: تعیین مسیر حرکتی آبجکت.

  • Roll: تعیین زاویه چرخش هنگام حرکت روی مسیر.

  • Position: موقعیت آبجکت روی مسیر (از ۰ تا ۱).

  • Orient along Path: چرخاندن آبجکت در راستای مسیر (محور Z مثبت در راستای مسیر قرار می‌گیرد).

  • Up Vector: تعیین جهت محور Y در حالت Orient.

  • Auto-Bank Factor: تعیین مقدار چرخش اتوماتیک آبجکت بر اساس انحنای مسیر.


پارامترها – صفحه Pre-Xform

این صفحه یک تبدیل اضافی روی کامپوننت اعمال می‌کند، مشابه حالتی که آبجکت دیگری را به عنوان والد متصل کنید. این تبدیل قبل از Xform اصلی اعمال می‌شود.

  • Apply Pre-Transform: فعال کردن تبدیل پیش‌فرض.

  • Transform Order / Rotate Order: مشابه صفحه Xform.

  • Translate / Rotate / Scale / Pivot: مشابه صفحه Xform اما به صورت پیش‌تبدیل.

  • Uniform Scale: مقیاس یکنواخت.

  • Reset Transform: ریست کردن همه مقادیر Pre-Xform.

  • Commit to Main Transform: کپی کردن Pre-Xform به Xform اصلی.

  • Xform Matrix/CHOP/DAT: امکان اعمال مستقیم یک ماتریس ۴×۴.


پارامترها – صفحه Instance

این بخش امکان ساخت Hardware Instancing برای Geometry را فراهم می‌کند. هر Instance دارای یک ID است که می‌تواند در شیدر استفاده شود. داده‌های Instance می‌تواند از هر نوع OP (TOP، CHOP، SOP، DAT) گرفته شود.

  • Instancing: فعال‌سازی Instancing.

  • Instance Count Mode: حالت تعیین تعداد Instance (دستی یا بر اساس طول OP).

  • Num Instances: تعیین تعداد Instance در حالت دستی.

  • Instance OP: تعیین OP منبع داده برای Transform هر Instance.

  • Transform Order / Rotate Order: ترتیب اعمال تبدیل‌ها برای Instance.

  • Translate / Rotate / Scale / Pivot: انتخاب داده برای هر کدام از محورهای Instance.

  • Active: مشخص می‌کند کدام Instance رندر شود.


پارامترها – صفحه Instance 2

این بخش ویژگی‌های تکمیلی برای Instanceها مثل:

  • Rotate to Vector: چرخش به سمت بردار خاص.

  • Texture Mode: تعیین چگونگی اعمال مختصات UV.

  • Color Mode: نحوه ترکیب رنگ Instance با رنگ SOP.

  • Instance Textures: امکان اختصاص دادن تکسچرهای مختلف به هر Instance (حتی با رزولوشن‌های متفاوت).


پارامترها – صفحه Instance 3

این صفحه امکان تعریف Custom Attributes دلخواه برای Instanceها را می‌دهد (قابل استفاده در GLSL MAT).


پارامترها – صفحه Render

  • Material: انتخاب متریال (MAT) برای Geometry.

  • Render: تعیین می‌کند Geometry در Render TOP قابل مشاهده باشد یا خیر.

    پارامترها – صفحه Render

    • Material
      یک متریال (MAT) را به آبجکت اختصاص می‌دهد. مقدار پیش‌فرض null است که به معنی بدون متریال است.
      متریال همچنین می‌تواند توسط یک SOP (مثل Material SOP) یا یک Render Select TOP اختصاص داده شود.

    • Render
      وقتی روشن باشد، این Geometry در Render TOPها، Render Pass TOPها و Render Pick CHOPها که شامل آن هستند رندر می‌شود. وقتی خاموش باشد، از همه رندرها حذف می‌شود.

    • Draw Priority
      یک مقدار عددی که اولویت رسم را تعیین می‌کند. Geometryهایی با عدد بالاتر دیرتر رسم می‌شوند (روی آبجکت‌های قبلی قرار می‌گیرند).

    • Pick Priority
      ترتیب انتخاب شدن Geometry را مشخص می‌کند وقتی از Render Pick CHOP استفاده شود.

    • Cull Face
      مشخص می‌کند کدام سمت سطوح رندر شود:

      • Backfaces (پشت)

      • Frontfaces (جلو)

      • Both (هردو)

    • Depth Test
      اگر روشن باشد، عمق (Depth Buffer) بررسی می‌شود و فقط پیکسل‌هایی رسم می‌شوند که جلوتر باشند.

    • Depth Write
      اگر روشن باشد، پیکسل‌های رسم‌شده به بافر عمق نوشته می‌شوند و بر رندر آبجکت‌های بعدی اثر می‌گذارند.

    • Draw Non-Instanced SOPs
      وقتی Instancing فعال باشد، این گزینه تعیین می‌کند SOPهایی که instanced نیستند هم رندر شوند یا خیر.


    پارامترها – صفحه Misc

    • Operator Style
      نوع نمایش آیکون کامپوننت Geometry در شبکه (Network) را مشخص می‌کند.

    • Node Color
      رنگ آیکون Geometry در شبکه.

    • Render Flag
      همان پرچم Render که در شبکه می‌بینید (یک گزینه تکراری برای کنترل سریع).

    • Display Flag
      همان پرچم Display برای SOPها در Geometry.


    پارامترها – صفحه Common

    • Viewer
      تعیین می‌کند که این Geometry در Viewer خودش قابل نمایش باشد یا نه.

    • Enable Cooking
      اگر خاموش باشد، Geometry به طور کلی محاسبه (Cook) نمی‌شود.

    • Enable Bypass
      مثل بای‌پس (Bypass) برای غیر فعال کردن موقت Geometry.


    پارامترها – صفحه Render Select

    این صفحه وقتی Geometry در یک Render Select TOP انتخاب شده باشد فعال است.

    • Select by Render Flag
      انتخاب Geometryها بر اساس پرچم Render.

    • Select by Display Flag
      انتخاب Geometryها بر اساس پرچم Display.


    هندل‌ها (Handles)

    Geometry COMP وقتی انتخاب می‌شود، هندل‌هایی در Viewer سه‌بعدی ایجاد می‌کند:

    • فلش‌ها برای Translate

    • دایره‌ها برای Rotate

    • مکعب‌ها برای Scale

    این هندل‌ها قابل استفاده هستند و تغییرشان به طور مستقیم پارامترهای Xform را ویرایش می‌کند.


    پارامترهای Python

    • par.material → برگرداندن یا تغییر متریال اختصاص داده‌شده.

    • par.render → فعال/غیرفعال کردن پرچم Render.

    • op('geometry1').render → مقدار True/False برای رندرشدن Geometry.


    یادداشت‌ها

    • Geometry می‌تواند شامل چندین SOP با پرچم Render فعال باشد.

    • برای اینکه Geometry قابل دیدن شود، باید حداقل یک SOP داشته باشد، یک متریال به آن اختصاص داده شده باشد، و توسط یک دوربین در صحنه دیده شود.

    • اگر در حال کار با Instancing هستید، از CHOP یا SOP به عنوان منبع داده استفاده کنید.