🧭 خلاصه (Summary)

Mouse In CHOP مختصات X و Y موس (در واحدهای صفحه‌نمایش) را خروجی می‌دهد و همچنین وضعیت سه دکمه موس (چپ، راست و میانی) را مانیتور می‌کند.

وقتی گزینه Active روشن باشد:

  • موقعیت‌های X و Y موس از طریق کانال‌هایی که در پارامترهای Position X و Position Y تعیین شده‌اند، خروجی داده می‌شوند.

  • وضعیت دکمه‌ها از طریق کانال‌های تعیین‌شده در Left Button، Right Button و Middle Button خروجی داده می‌شود.

مقدار کانال‌های دکمه‌ها:

  • 0 = دکمه رها شده (Up)

  • 1 = دکمه فشرده شده (Down)

از Mouse In CHOP و Keyboard In CHOP اغلب برای اتصال به ورودی‌های Position و Active در Record CHOP استفاده می‌شود تا حرکات و ورودی‌ها ضبط شوند.

(برای اسکریپت‌نویسی می‌توان از کلاس پایتون mouseinCHOP استفاده کرد.)


⚙️ پارامترها — صفحه Control

پارامترتوضیح
Active (active)⊞ مشخص می‌کند آیا حرکت موس خروجی داده شود یا نه.
Off – غیرفعال، هیچ داده‌ای تولید نمی‌شود.
On – موس فعال است و CHOP در هر فریم cook می‌کند.
While Playing – فقط وقتی تایم‌لاین در حال پخش به جلو است، رویدادها را می‌گیرد.
Output Coordinates (output)⊞ تعیین محدوده خروجی X و Y موس:
Normalized – مختصات در بازه‌ی -1 تا 1 برای هر مانیتور. مانیتور اصلی در بازه‌ی -1 تا 1 است (مرکز: 0,0). مانیتورهای دیگر مقادیر نسبی دارند؛ مثلاً مانیتوری در سمت چپ محدوده -3 تا -1 دارد.
Normalized Aspect – مشابه حالت بالا اما نسبت تصویر (aspect ratio) نیز در نظر گرفته می‌شود.
Absolute – مختصات خام پیکسلی. نقطه (0,0) در پایین-چپ مانیتور اصلی است.
Position X (posxname)نام کانالی که مقدار حرکت افقی موس را خروجی می‌دهد.
Position Y (posyname)نام کانالی که مقدار حرکت عمودی موس را خروجی می‌دهد.
Left Button (lbuttonname)نام کانال وضعیت دکمه چپ موس.
Right Button (rbuttonname)نام کانال وضعیت دکمه راست موس.
Middle Button (mbuttonname)نام کانال وضعیت دکمه میانی موس.
Wheel (wheel)کانالی که با چرخش چرخ موس تغییر می‌کند: بالا رفتن = مثبت، پایین رفتن = منفی.
Wheel Increment (wheelinc)مقدار افزایشی/کاهشی که هنگام حرکت چرخ موس به کانال Wheel اضافه یا کم می‌شود.
Monitor (monitor)عددی که نشان می‌دهد موس در کدام مانیتور قرار دارد.
Panels (panels)فقط زمانی رویدادها را ثبت می‌کند که پنل تعیین‌شده در فوکوس باشد.

⚙️ پارامترها — صفحه Channel

تنظیم نرخ نمونه‌برداری و شرایط امتداد (Extend Conditions):

پارامترتوضیح
Sample Rate (rate)نرخ نمونه‌برداری کانال‌ها (بر حسب نمونه در ثانیه).
Extend Left (left)شرایط در سمت چپ بازه:
Hold – نگه داشتن مقدار فعلی
Slope – ادامه دادن شیب قبلی
Cycle – تکرار چرخشی
Mirror – تکرار آینه‌ای در هر چرخه
Default Value – استفاده از مقدار ثابت تعیین‌شده
Extend Right (right)همان گزینه‌ها اما برای سمت راست بازه (پس از انتهای داده).
Default Value (defval)مقدار ثابت مورد استفاده هنگام انتخاب حالت Default Value.

⚙️ پارامترها — صفحه Common

پارامترتوضیح
Time Slice (timeslice)فقط تغییرات بین آخرین cook و cook فعلی را پردازش می‌کند.
Scope (scope)تعیین می‌کند کدام کانال‌ها تحت تأثیر قرار گیرند.
Sample Rate Match (srselect)⊞ نحوه مدیریت تفاوت نرخ نمونه‌برداری در ورودی‌ها:
• Resample At First Input’s Rate
• Resample At Maximum Rate
• Resample At Minimum Rate
• Error If Rates Differ
Export Method (exportmethod)⊞ تعیین روش اتصال داده‌ها به پارامترها:
DAT Table by Index / by Name
Channel Name is Path:Parameter
Export Root (autoexportroot)مسیر ریشه‌ای برای تمام خروجی‌های Export.
Export Table (exporttable)DAT جدول اطلاعات Export برای روش‌های DAT-based.

📊 Info CHOP Channels

اطلاعات اضافی از طریق Info CHOP در دسترس است.

Common CHOP Info Channels

کانالتوضیح
startشروع بازهٔ CHOP بر حسب نمونه.
lengthتعداد نمونه‌ها.
sample_rateنرخ نمونه‌برداری (فریم بر ثانیه).
num_channelsتعداد کانال‌ها.
time_slice۱ اگر Time Slice فعال باشد.
export_sernumشمار دفعاتی که ارتباط‌های Export به‌روزرسانی شده‌اند.

Common Operator Info Channels

کانالتوضیح
total_cooksتعداد دفعاتی که اپراتور cook شده است.
cook_timeزمان cook اخیر (میلی‌ثانیه).
cook_frame / cook_abs_frameشماره فریم نسبی و مطلق cook.
cook_start_time / cook_end_timeزمان شروع و پایان cook در همان فریم.
cooked_this_frameاگر در فریم فعلی cook شده باشد → ۱.
warnings / errorsتعداد هشدارها یا خطاهای موجود.

🎨 کاربرد در پروژه‌های تعاملی

Mouse In CHOP یکی از ساده‌ترین اما مهم‌ترین ابزارها برای ساخت تعاملات بلادرنگ در TouchDesigner است.
نمونه کاربردها:

  • کنترل موقعیت یک نور، جسم یا دوربین با حرکت موس؛

  • فعال‌سازی افکت‌ها یا انیمیشن‌ها با کلیک دکمه‌های موس؛

  • تعامل زنده با پنل‌های رابط کاربری (UI Panels)؛

  • ضبط مسیر حرکت موس برای خلق افکت‌های طراحی یا ردیابی دستی با Record CHOP.