خلاصه
Bullet Solver CHOP همراه با یک سیستم Bullet Dynamics استفاده میشود. این اپراتور نتایج حلشده از یک شبیهسازی Bullet را خروجی میدهد و میتواند شامل نتایج کل سیستم (Bullet Solver COMP) یا یک بازیگر منفرد (Actor COMP) درون سیستم باشد.
همچنین Bullet Solver CHOP میتواند همراه با پارامتر Feedback CHOP روی Bullet Solver COMP یا Actor COMP استفاده شود. نتایج شبیهسازی Bullet را میتوان با استفاده از Bullet Solver CHOP دریافت، تغییر داد و دوباره به همان Bullet Solver COMP برگرداند. در آغاز گام بعدی شبیهسازی، مقادیر همان چیزهایی خواهند بود که در CHOP برگشتی وجود دارند. این قابلیت اجازه میدهد هر داده CHOPی در ابتدای فریم بعدی (گام زمانی بعدی) به شبیهسازی تزریق شود.
مثال: میتوان کاری کرد که یک بازیگر در شبیهسازی وقتی روی آن کلیک میشود، به مکان نشانگر ماوس بپرد.
کانالهای خروجی
actor_id: شناسه OP مربوط به Actor COMP
body_id: شناسه بدنه در Actor COMP. (هر Actor میتواند چندین بدنه داشته باشد در صورت استاتیک بودن یا استفاده از instancing). شمارهها از 0 تا N-1 هستند.
active: فعال بودن یا نبودن بدنه در شبیهسازی
colliding: اینکه آیا بدنه در حال برخورد با بدنه دیگری است یا نه
colliding_actor_id: شناسه Actor COMP که شامل بدنه برخوردکننده است
colliding_body_id: شناسه بدنهای که با آن برخورد داریم (به همراه colliding_actor_id، بدنه خاص را مشخص میکند)
total_collisions: تعداد کل برخوردهای بدنه
t[xyz]: جابجایی بدنه در فضای انتخابشده
r[xyz]: چرخش بدنه در فضای انتخابشده
s[xyz]: مقیاس بدنه در فضای انتخابشده
vel_t[xyz]: سرعت خطی بدنه
vel_r[xyz]: سرعت زاویهای بدنه
🔗 همچنین ببینید: Bullet Dynamics, Bullet Solver COMP, Actor COMP, Force COMP, Impulse Force COMP, Constraint COMP
پارامترها – صفحه General
Solver or Actor COMP (comp): ارجاع به Bullet Solver COMP یا Actor COMP. اگر Solver انتخاب شود نتایج تمام بازیگران خروجی داده میشود، و اگر Actor انتخاب شود فقط همان Actor خروجی خواهد داشت.
Transform Space (xformspace): فضایی که مقادیر تبدیل (جابجایی/چرخش) نسبت به آن خروجی میشوند.
World: مختصات در سیستم جهانی.
Bullet Solver: مختصات نسبی به Bullet Solver COMP.
Actor: مختصات نسبی به Actor COMP.
Collision Info: افزودن کانالهای colliding, colliding_actor_id, colliding_body_id, total_collisions (برای کارکرد باید “Perform Contact Test” روی Solver فعال باشد).
Translation: افزودن کانالهای جابجایی.
Rotation: افزودن کانالهای چرخش.
Scale: افزودن کانالهای مقیاس.
Linear Velocity: افزودن کانالهای سرعت خطی.
Angular Velocity: افزودن کانالهای سرعت زاویهای.
Sample Rate: نرخ نمونهبرداری CHOP.
پارامترها – صفحه Common
Time Slice: فعالسازی خروجی به صورت Time Slice (بازه بین cook قبلی و فعلی).
Scope: تعیین کانالهایی که تحت تأثیر قرار میگیرند.
Sample Rate Match: مدیریت اختلاف نرخ نمونهبرداری ورودیها.
First: استفاده از نرخ ورودی اول.
Max: استفاده از بیشترین نرخ.
Min: استفاده از کمترین نرخ.
Error: خطا در صورت اختلاف نرخها.
Export Method: تعیین روش اتصال کانال CHOP به پارامتر.
DAT Table by Index: اتصال با ایندکس کانال.
DAT Table by Name: اتصال با نام کانال.
Channel Name is Path:Parameter: مسیر کامل مقصد بهعنوان نام کانال استفاده میشود (مثل geo1/transform1:tx).
Export Root: مسیر ریشه برای اکسپورت نسبی.
Export Table: DAT استفادهشده برای نگهداری اطلاعات اکسپورت.
Info CHOP Channels
اطلاعات اضافی Bullet Solver CHOP از طریق Info CHOP قابل دسترس است.
کانالهای Info مشترک CHOP
start: شروع بازه (بر حسب نمونه).
length: تعداد نمونهها.
sample_rate: نرخ نمونهبرداری (فریم بر ثانیه).
num_channels: تعداد کانالها.
time_slice: ۱ اگر Time Slice فعال باشد، در غیر این صورت ۰.
export_sernum: شمار دفعات بهروزرسانی اتصال اکسپورت.
کانالهای Info مشترک اپراتور
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: تعداد خطاها.
