خلاصه
Engine COMP یک فایل .tox (کامپوننت) را در یک پردازش جداگانه اجرا میکند. این کار توسط TouchEngine مدیریت میشود تا هم تبادل داده با پروژه اصلی انجام شود و هم کامپوننت مستقل اجرا گردد.
همچنین Engine COMP اجازه میدهد کامپوننت بارگذاریشده بتواند یک Window COMP باز کند و وارد Perform Mode شود. برای این قابلیت باید پارامتر Clock Mode در صفحهی Tune روی حالت Independent تنظیم شود تا رویدادهای UI (تعامل کاربر) پردازش شوند.
ورودیها و خروجیها
ورودیها و خروجیهای سطح بالای کامپوننت انتخابشده به ورودی و خروجیهای Engine COMP متصل میشوند.
فقط انواع TOP، CHOP و DAT پشتیبانی میشوند.
پارامترهای سفارشی
هر پارامتر سفارشی در سطح بالای کامپوننت به پارامترهای Engine COMP اضافه میشود.
پارامترهایی که به نودهای دیگر (TOP، CHOP، DAT) ارجاع دارند پشتیبانی نمیشوند. به جای آن باید ورودیها استفاده شوند.
توجه: پارامترها فقط یکطرفه هستند، یعنی از داخل فایل .tox نمیتوان پارامترهای Engine COMP را تغییر داد.
مسیر فایلهای خارجی
بهطور پیشفرض مسیرهای نسبی درون اسکریپتها یا OPها، نسبت به محل فایل .tox در نظر گرفته میشوند.
این رفتار با پارامتر Asset Paths قابل تغییر است.
پارامترهای سفارشی سطح بالا (که روی Engine COMP ظاهر میشوند) همیشه نسبت به پروژه اصلی محاسبه میشوند.
پایش وضعیت Engine
یک Info DAT بهطور پیشفرض به Engine COMP متصل است که مسیر فایل و شناسه پردازش (PID) را نشان میدهد.
یک Info CHOP نیز متصل است که سه مجموعه کانال پایش دارد:
TouchEngine Status → وضعیت بارگذاری/اجرا/خطا
TouchEngine Perform → آمار عملکرد (مثل FPS و حافظه)
Initialize/Start → وضعیت آماده/اجرا مخصوص کامپوننت بارگذاریشده
کنترل وضعیت Engine
بهطور پیشفرض TouchDesigner پردازش Engine را راهاندازی و فایل .tox را اجرا میکند.
برای کنترل بیشتر، پارامترهای Unload و Reload برای آزادسازی و بارگذاری مجدد استفاده میشوند.
در صفحه Advanced میتوان با پارامترهای Launch Engine Process و Quit Engine Process کل پردازش Engine را راهاندازی یا متوقف کرد.
چرخه عمر کامپوننت
در TouchEngine، متدهای onStart() و onExit() اجرا نمیشوند.
متد onCreate() هنگام بارگذاری اجرا میشود و بهترین مکان برای تنظیمات اولیه است.
زمان در TouchEngine
هنگام شروع، زمان کامپوننت در TouchEngine از ۰ آغاز میشود.
بسته به پارامتر Clock، این زمان یا همگام با Engine COMP پیش میرود یا بر اساس ساعت داخلی TouchEngine.
برای هماهنگی نرخ پردازش، از input buffer و output buffer استفاده میشود.
گزینه Auto بافرها را به شکل خودکار تنظیم میکند، اما میتوان اندازه ثابت تعیین کرد (مثلاً برای کار با صدا).
نسخههای TouchEngine
TouchEngine همراه با TouchDesigner نصب میشود.
برای استفاده از نسخه دیگر:
تنظیم متغیر محیطی
TOUCHENGINE_APP_PATHنصب TouchDesigner در پوشهای به نام TouchEngine در کنار فایل .tox
یا ساخت لینک به نام TouchEngine که به محل نصب اشاره کند.
صفحات پارامترها
صفحه Engine
Tox File → انتخاب فایل .tox
Unload / Reload → آزادسازی یا بارگذاری مجدد
Reload on Crash → بارگذاری مجدد در صورت خطا
Asset Paths → تنظیم مسیرها (نسبت به پروژه یا فایل .tox)
Callbacks DAT → اجرای کد برای رویدادهای TouchEngine
صفحه Tune
Clock → حالت زمان (همگام یا مستقل)
Match Local Component Rate → هماهنگی نرخ cook با Engine COMP
FPS → نرخ فریم برای کامپوننت
Wait for Render → منتظر ماندن بهجای رها کردن فریمها
Render Timeout → زمان انتظار برای cook شدن فریم
In Buffer / Out Buffer → مدیریت بافر ورودی و خروجی (خودکار یا دستی)
صفحه InitStart
Pre-Roll → اجرای اولیه قبل از آمادهسازی
Ready When → شرایط ورود به حالت آماده (Loaded / Buffered / Running)
Start when Initialized → شروع خودکار پس از آمادهسازی
Initialize / Start / Play → کنترل بارگذاری و اجرای کامپوننت
On Done → رفتار پس از اتمام (Pause, Unload, Re-Init, Restart, Quit)
صفحه Advanced
On Engine COMP Create → رفتار هنگام ایجاد (هیچ، Launch، Initialize)
Launch Engine Process / Quit Engine Process → راهاندازی یا توقف پردازش TouchEngine
صفحه Extensions
مدیریت افزونههای پایتون و اتصال کلاسها به کامپوننت
امکان تعیین نام، نمایش مستقیم توابع، یا کامپایل مجدد افزونهها
صفحه Common
Parent Shortcut / Global OP Shortcut → میانبرهای مسیر
Internal OPs → تعریف مسیرهای داخلی
Operator Viewer → انتخاب OP برای نمایش در Node View
Enable Cloning / Clone Master → تنظیمات کلونگیری
Load on Demand → بارگذاری تنها در صورت نیاز
Enable External .tox → همگامسازی با فایل خارجی
External .tox Path → مسیر فایل .tox خارجی
Reload Custom / Built-In Parameters → بازخوانی پارامترها
Save Backup of External → ذخیره نسخه پشتیبان در .toe
Sub-Component to Load → انتخاب زیرکامپوننت خاص از فایل .tox
Relative File Path Behavior → رفتار مسیرهای نسبی (نسبت به پروژه یا .tox)
Info CHOP Channels
کانالهای خاص Engine COMP
input_buffer_frames / output_buffer_frames → تعداد فریمها در بافرها
initialize_fail, ready, running, done → وضعیت اجرای کامپوننت
engine_fps, engine_frame_msec → نرخ فریم و زمان cook
engine_dropped_frames → تعداد فریمهای از دست رفته
engine_gpu_mem_used / engine_cpu_mem_used → میزان حافظه مصرفشده
engine_active_ops / total_ops → تعداد نودهای فعال و کل نودها
engine_timeslice_step / engine_timeslice_msec → اطلاعات تایماسلایس
کانالهای عمومی COMP
num_children → تعداد زیرکامپوننتها
کانالهای عمومی Operator
total_cooks → تعداد cook از شروع اجرا
cook_time → زمان cook آخر (ms)
cook_frame / cook_abs_frame → شماره فریم cook شده
warnings / errors → تعداد هشدارها و خطاها
