Render Pick DAT

پرش به ناوبری | پرش به جستجو


خلاصه (Summary)

Render Pick DAT به شما امکان می‌دهد اطلاعات مربوط به سطح سه‌بعدی را در هر پیکسل از هر رندر سه‌بعدی به‌دست آورید، و بنابراین می‌توانید قابلیت مولتی‌تاچ روی صحنه رندر شده سه‌بعدی را پیاده‌سازی کنید. این DAT یک رندر (از Render TOP یا Render Pass TOP) را نمونه‌برداری می‌کند و اطلاعات سه‌بعدی هندسه را در مکان‌های مشخص شده برای پیک بازمی‌گرداند.

شما باید یک DAT با حداقل سه ستون select, u, v به آن بدهید. معمولاً یک Multi Touch In DAT به Render Pick DAT وصل می‌شود، جایی که Multi Touch In DAT به کانتینری اشاره دارد که خروجی Render TOP را نمایش می‌دهد.

می‌توانید هم‌زمان از چند دوربین پیک کنید. می‌توانید دوربینی مشخص کنید تا پیک از دیدگاه غیر از اولین دوربین لیست شده در Render TOP انجام شود. مقدار ستون می‌تواند مسیر یک Camera COMP (نسبی به Render Pick DAT یا مطلق) باشد، یا یک اندیس عددی که از 0 شروع می‌شود. اگر اندیس باشد، دوربین استفاده شده از بین دوربین‌های لیست شده در Render TOP یا دوربین‌های مشخص شده در پارامتر Custom Pick Camera(s) انتخاب می‌شود. این برای تنظیمات Multi-Camera Rendering یا مواردی مثل VR مفید است، جایی که پیک شما از دید دوربین چشم نیست بلکه از کنترلر دست انجام می‌شود.

مکان پیک یک مختصات u, v (افقی و عمودی) است که در جدول ورودی Render Pick DAT قرار می‌گیرد. هر ردیف جدول ورودی نمایانگر یک نقطه پیک برای نمونه‌برداری است، به جز ردیف اول که حاوی سرستون‌های select, u, v (و سایر ستون‌های اضافی دلخواه) است. مقادیر u و v بین 0 تا 1 هستند، از چپ به راست و پایین به بالا، بدون توجه به نسبت تصویر رندر.

وقتی Strategy روی Always باشد، مکان u, v همیشه نمونه‌برداری می‌شود و نتایج در ردیف متناظر جدول خروجی Render Pick DAT نمایش داده می‌شود.

جدول خروجی مسیر هندسه پیک شده، موقعیت آن (در یک فریم مرجع انتخابی)، نرمال سطح (بدون نقشه bump)، فاصله از دوربین، مختصات UV بافت، رنگ، آلفا و شناسه نمونه (instance id) را نشان می‌دهد. این DAT می‌تواند سطوح با ورتکس‌های تغییر شکل یافته را نیز به‌درستی پیک کند.

مثال‌ها:

  • geoPanel در palette

  • multiTouch در palette زیر Techniques

  • همچنین نگاه کنید به Render Pick CHOP برای نمونه تک‌نقطه‌ای


محتویات (Contents)

  1. Summary – خلاصه

  2. Parameters – Render Pick Page – پارامترهای صفحه Render Pick

  3. Parameters – Options Page – پارامترهای صفحه Options

  4. Parameters – Common Page – پارامترهای عمومی

  5. Operator Inputs – ورودی‌های اپراتور

  6. Info CHOP Channels – کانال‌های Info CHOP
    6.1 Common DAT Info Channels – کانال‌های عمومی DAT
    6.2 Common Operator Info Channels – کانال‌های عمومی اپراتور


Parameters – Render Pick Page

Strategy (strategy)
تصمیم می‌گیرد چه زمانی مقادیر بر اساس تعاملات پیک به‌روز شوند.

Clear Previous Pick on New Pick (clearprev)
این پارامتر فقط زمانی فعال است که Strategy روی Hold Last Picked باشد. وقتی فعال باشد، شروع یک پیک جدید در فضای خالی، مقادیر قبلی را پاک می‌کند. وقتی غیرفعال باشد، مقادیر قبلی حفظ می‌شوند اگر پیک روی فضای خالی شروع شود.

Response Time (responsetime)
زمان به‌روزرسانی مقادیر را تعیین می‌کند.

Pick Radius (pickradius)
شعاع ناحیه جستجو برای پیک را کنترل می‌کند. اگر در مرکز پیک چیزی پیدا نشود، جستجو در شعاع مشخص ادامه می‌یابد.

Pick Radial Step (pickradstep)
برای کاهش نمونه‌برداری در ناحیه جستجو استفاده می‌شود. ناحیه جستجو در نقاطی نمونه‌برداری می‌شود که به صورت «پرتو» از مرکز پیک هستند.

Pick Circular Step (pickcirstep)
برای کاهش نمونه‌برداری در ناحیه جستجو استفاده می‌شود. ناحیه جستجو در نقاطی نمونه‌برداری می‌شود که به صورت «حلقه» از مرکز پیک هستند.

Render/RenderPass TOP (rendertop)
مشخص می‌کند روی کدام صحنه پیک انجام شود و از کدام دوربین. پیش‌فرض، اولین دوربین لیست شده در Render TOP استفاده می‌شود. می‌توان دوربین دیگری با پارامتر Custom Pick Camera(s) مشخص کرد و چند دوربین مختلف با ستون ورودی انتخاب شوند.

Custom Pick Camera(s) (custompickcameras)
با مشخص کردن یک یا چند Camera COMP، پیک می‌تواند از دید آن‌ها انجام شود. اگر خالی باشد، دوربین‌های Render TOP استفاده می‌شوند.

Allow Multi-Camera Rendering (allowmulticamera)
رندر همزمان چند دوربین باعث افزایش سرعت نمونه‌برداری می‌شود، اما ممکن است با برخی GLSL MATهای قدیمی سازگار نباشد.

Use Pickable Flags (usepickableflags)
اگر فعال باشد، فقط هندسه‌ای که Pickable Flag آن فعال است، انتخاب می‌شود. این فلگ روی تمام Object Componentها موجود است.

Include Non-Pickable Objects (includenonpickable)
اشیاء غیرقابل پیک را در الگوریتم پیک شامل می‌کند، بنابراین اشیاء غیرقابل پیک می‌توانند اشیاء قابل پیک را بپوشانند.

Merge Input DAT (mergeinputdat)
جدول ورودی را به ستون‌های Render Pick DAT اضافه می‌کند.

Activate Callbacks (activatecallbacks)
فعال کردن Callback DAT برای هر رویداد پیک.

Callbacks DAT (callbacks)
مسیر یک DAT که شامل callback برای رویدادهای پیک است.


Parameters – Options Page

  • Fetch Position (position) ⊞ : موقعیت نقطه پیک شده را بازمی‌گرداند (ستون‌های tx, ty, tz)

  • Fetch Normal (normal) ⊞ : نرمال نقطه پیک شده را بازمی‌گرداند (ستون‌های nx, ny, nz)

  • Reference Object (referenceobj) : شی برای مرجع گرفتن موقعیت یا نرمال‌ها

  • Fetch Point Color (color) : رنگ نقطه پیک شده (ستون‌های cr, cg, cb, ca)

  • Fetch Texture UV (uv) : مختصات بافت نقطه (mapu, mapv, mapw)

  • Fetch Depth (depth) : عمق نقطه پیک شده (نسبت غیرخطی بین near و far plane)

  • Fetch Instance ID (instanceid) : شناسه نمونه نقطه، همیشه ۰ اگر Instancing خاموش باشد

  • Custom Attrib 1-4 (customattrib1-4) : مشخص کردن ویژگی‌های سفارشی برای بازگشت

  • Custom Attrib Type 1-4 (customattrib1type-4type) : نوع ویژگی انتخابی


Parameters – Common Page

  • Language (language) ⊞ : انتخاب زبان اسکریپت

  • Edit/View Extension (extension) ⊞ : انتخاب پسوند فایل برای ویرایشگر خارجی

  • Custom Extension (customext) : پسوند سفارشی

  • Word Wrap (wordwrap) ⊞ : فعال کردن Word Wrap برای نمایش Node


Operator Inputs

  • Input 0 –


Info CHOP Channels

اطلاعات اضافی Render Pick DAT از طریق Info CHOP قابل دسترسی است

Common DAT Info Channels

  • num_rows – تعداد ردیف‌ها

  • num_cols – تعداد ستون‌ها

Common Operator Info Channels

  • 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 شده باشد

  • warnings – تعداد هشدارها

  • errors – تعداد خطاها