نکته (NOTE)
سیستم‌عامل: این اپراتور فقط در سیستم‌عامل Microsoft Windows پشتیبانی می‌شود.

اپراتور OpenVR CHOP داده‌های مکانی (Position)، اطلاعات رندر فریم، و داده‌های مربوط به Actions را از OpenVR SDK دریافت می‌کند.
هر OpenVR CHOP می‌تواند در یکی از ۵ حالت خروجی زیر کار کند:

  • Sensors (سنسورها)

  • Projection Matrices (ماتریس‌های پروجکشن)

  • Trackers (ردیاب‌ها)

  • Frame Timings (زمان‌بندی فریم‌ها)

  • Actions (اکشن‌ها)

  • Skeletons (اسکلت)


Actions

Actions با جزئیات بیشتری در بخش OpenVR Actions توضیح داده شده‌اند.


دریافت داده‌های سنسور با نرخ نمونه‌برداری بالاتر

به‌صورت پیش‌فرض، هنگام اجرای یک سیستم VR، این فایل توسط OpenVR SDK به نرخ تازه‌سازی (Refresh Rate) دستگاه VR محدود (Throttle) می‌شود. این کار برای اطمینان از تأخیر کم (Low Latency) که برای تجربه‌ی مناسب VR ضروری است انجام می‌شود.

اگر تنها از کنترلرها یا Vive Trackerها برای رهگیری در یک سناریوی غیر VR استفاده شود، این فایل می‌تواند با نرخ نمونه‌برداری بالاتری اجرا شده و داده‌های این دستگاه‌ها را نمونه‌برداری کند، به شرطی که هیچ OpenVR TOPای در پروژه وجود نداشته باشد.

اگر حتی یک OpenVR TOP در هر نقطه‌ای از پروژه حضور داشته باشد، پخش و نمونه‌برداری به نرخ تازه‌سازی دستگاه VR محدود خواهد شد.

همچنین ببینید:
OpenVR، OpenVR TOP، OpenVR SOP، Audio Render CHOP


محتوا (Contents)

  1. خلاصه
      1.1 Actions
      1.2 دریافت داده‌های سنسور با نرخ بالاتر

  2. پارامترها – صفحه Setup

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

  4. کانال‌های Info CHOP
      4.1 کانال‌های اطلاعات عمومی CHOP
      4.2 کانال‌های اطلاعات عمومی اپراتور


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

Active (active)
کنترل می‌کند که آیا این نود در حال درخواست (Query) داده از درایور OpenVR باشد یا خیر.

Output (output)
مشخص می‌کند چه دسته‌ای از داده‌ها از این نود خروجی داده شوند.

Max Trackers (maxtrackers)
حداکثر تعداد Trackerهایی که داده‌ی آن‌ها از این نود خروجی گرفته می‌شود.

First Tracker (firsttracker)
شماره‌ی اولین Tracker برای خروجی.
مثلاً اگر مقدار آن ۲ باشد و Max Trackers برابر ۲ تنظیم شده باشد، داده‌های Tracker شماره ۲ و ۳ خروجی داده می‌شوند.

Orientation (orientation)
در حالت خروجی Sensor، مشخص می‌کند که آیا کانال‌های جهت‌گیری (Orientation) خروجی داده شوند یا خیر.
به‌صورت پیش‌فرض، واحدها به این صورت هستند:
۱ واحد = ۱ متر

General Info (generalinfo)
در حالت خروجی Sensor، تعیین می‌کند که کانال‌های اطلاعات عمومی مانند رزولوشن رندر و اندازه‌ی فضای بازی (Play Area) خروجی داده شوند یا خیر.

Near (near)
در حالت خروجی Projection Matrices، صفحه‌ی برش نزدیک (Near Plane) مورد استفاده برای ساخت ماتریس پروجکشن را تعیین می‌کند.

Far (far)
در حالت خروجی Projection Matrices، صفحه‌ی برش دور (Far Plane) مورد استفاده برای ساخت ماتریس پروجکشن را تعیین می‌کند.

Unit Scale (unitscale)
OpenVR به‌صورت پیش‌فرض با مقیاسی کار می‌کند که در آن:
۱ واحد = ۱ متر
این پارامتر اجازه می‌دهد در صورتی که صحنه با مقیاس متفاوتی وارد شده باشد، مقیاس تغییر داده شود.

Custom Actions (customactions)
در صورت فعال بودن، امکان مشخص کردن فایل Manifest سفارشی برای OpenVR Actions را فراهم می‌کند.

Action Manifest (actionmanifest)
مسیر فایل Manifest مربوط به OpenVR Actions.
به‌صورت پیش‌فرض، از همان Manifestای استفاده می‌شود که OpenVR در حالت غیرفعال بودن Custom Actions استفاده می‌کند.

Use Legacy Names (uselegacynames)
از الگوی نام‌گذاری قدیمی کانال‌ها که از Action Manifest می‌آید استفاده می‌کند.
این گزینه فقط زمانی باید روشن شود که فایل‌های قدیمی موجود بارگذاری می‌شوند.

Skeleton Range (skeletonrange)
محدوده‌ی حرکت (Range of Motion) مقادیر اسکلت را کنترل می‌کند.


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

Time Slice (timeslice)
فعال کردن این گزینه باعث می‌شود کانال‌ها به‌صورت Time Slice پردازش شوند.
Time Slice فاصله‌ی زمانی بین آخرین فریم Cook شده و فریم فعلی است.

Scope (scope)
برای تعیین اینکه کدام کانال‌ها تحت تأثیر قرار بگیرند، برخی CHOPها از Scope String در صفحه Common استفاده می‌کنند.

Sample Rate Match (srselect)
مدیریت شرایطی که نرخ نمونه‌برداری CHOPهای ورودی با یکدیگر متفاوت است.
در صورت Resampling، منحنی‌ها بر اساس روش Interpolation انتخاب‌شده یا به‌صورت Linear (در صورت نبود گزینه‌های دیگر) درون‌یابی می‌شوند.

Export Method (exportmethod)
مشخص می‌کند کانال CHOP چگونه به پارامتر متصل شود.
برای اطلاعات بیشتر به مقاله‌ی Export مراجعه کنید.

Export Root (autoexportroot)
این مسیر به نود ریشه‌ای اشاره می‌کند که تمام مسیرهای Export از نوع
Channel Name → Path:Parameter
نسبت به آن تعریف می‌شوند.

Export Table (exporttable)
DATای که هنگام استفاده از روش‌های Export مبتنی بر جدول، اطلاعات Export در آن ذخیره می‌شود.


کانال‌های Info CHOP

اطلاعات تکمیلی مربوط به OpenVR CHOP از طریق Info CHOP قابل دسترسی است.

کانال‌های اطلاعات عمومی CHOP

  • start — شروع بازه‌ی CHOP بر حسب تعداد سمپل

  • length — تعداد سمپل‌ها در CHOP

  • sample_rate — نرخ نمونه‌برداری کانال‌ها (فریم بر ثانیه)

  • num_channels — تعداد کانال‌ها

  • time_slice — اگر Time Slice فعال باشد 1، در غیر این صورت 0

  • export_sernum — تعداد دفعات به‌روزرسانی اتصال‌های Export

کانال‌های اطلاعات عمومی اپراتور

  • 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

  • warnings — تعداد هشدارها (در صورت وجود)

  • errors — تعداد خطاها (در صورت وجود)