خلاصه (Summary)
یک Constraint COMP برای محدود کردن حرکت اجسام در مجموعهای از Actor COMPs استفاده میشود. در حال حاضر این کار به چند روش انجام میشود: نقطه به نقطه (Point to Point)، لولایی (Hinge) یا لغزشی (Slider).
کانسترینتها میتوانند روی یک جسم منفرد یا بین دو جسم اعمال شوند. از آنها میتوان برای ایجاد اتصال بین اجسام یا ایجاد اجسامی که حرکت دارند اما نیاز است حرکتشان محدود شود استفاده کرد.
نمونههایی از کانسترینت در دنیای واقعی: قطار، درب، بازو.
اگر یک Point to Point روی یک جسم اعمال شود، آن جسم به ۳ درجه آزادی (DOF) محدود میشود. همچنان میتواند در هر سه محور بچرخد، اما جابهجایی در هر سه محور محدود میشود.
اگر همین کانسترینت بین دو جسم اعمال شود، هر دو جسم همچنان ۳ DOF خواهند داشت و میتوانند در هر سه محور حرکت کنند، اما به یکدیگر در نقطه Pivot متصل خواهند بود. به این شکل میتوان زنجیرهای از اجسام ساخت (مثل واگنهای قطار).
اگر یک Hinge Constraint روی یک جسم اعمال شود، آن جسم تنها اجازهی چرخش حول یک محور را دارد (محور توسط پارامتر Axis تعریف میشود). Pivot نیز وجود دارد. اگر روی دو جسم اعمال شود، هر دو جسم ۳ DOF دارند ولی تنها حول محور مشخصشده میچرخند. نمونهی سادهی آن: یک درب.
اگر یک Slider Constraint روی یک جسم اعمال شود، حرکت و چرخش آن فقط در امتداد همان محور مجاز است (هر دو جهت).
ارجاع مرتبط: Bullet Dynamics, Bullet Solver COMP, Actor COMP, Force COMP, Impulse Force COMP, Bullet Solver CHOP.
پارامترها – صفحه Constraint
Active → فعال/غیرفعال کردن کانسترینت در شبیهسازی.
Type → نوع کانسترینت:
Point To Point
Hinge
Slider
Body to Body → فعال/غیرفعال کردن حالت بین دو جسم.
وقتی روشن باشد، بین Actor 1 و Actor 2 کانسترینت ایجاد میشود.
اگر تعداد اجسام برابر باشد → جفت به جفت وصل میشوند.
اگر Actor 1 بیشتر باشد → اجسام اضافی بهصورت منفرد محدود میشوند.
اگر Actor 2 بیشتر باشد → اجسام اضافی نادیده گرفته میشوند.
Collisions between Bodies → روشن/خاموش کردن برخورد بین اجسام مقید.
Display Constraint → نمایش/عدم نمایش راهنمای کانسترینت در Viewer.
Actor 1
Actor COMP (actor1) → Actor انتخابی.
Actor Bodies (bodies1) → لیست ID بدنها (۰ تا N-1).
Pivot (pivot1x, pivot1y, pivot1z) → نقطه Pivot.
Hinge Axis (axis1x, axis1y, axis1z) → محور لولا (۰ یا ۱).
Slider Rotation (sliderrot1x, sliderrot1y, sliderrot1z) → چرخش محور لغزنده.
Actor 2 (فقط وقتی Body to Body فعال باشد)
Actor COMP (actor2)
Actor Bodies (bodies2)
Pivot (pivot2x, pivot2y, pivot2z)
Hinge Axis (axis2x, axis2y, axis2z)
Slider Rotation (sliderrot2x, sliderrot2y, sliderrot2z)
پارامترها – صفحه Limits
Enable Limits → فعالسازی محدودیتها.
Lower Linear Limit → حد پایین جابهجایی (فقط برای Slider).
Upper Linear Limit → حد بالای جابهجایی (فقط برای Slider).
Lower Angular Limit → حد پایین چرخش حول محور (برای Slider یا Hinge).
Upper Angular Limit → حد بالای چرخش حول محور (برای Slider یا Hinge).
پارامترها – صفحه Extensions
برای تنظیم Extensionهای پایتون این کامپوننت استفاده میشود.
Extension → تعریف Extension.
Object → نمونههای کلاس متصل به کامپوننت.
Name → نام اختیاری.
Promote → تعیین دسترسی مستقیم یا از طریق
.ext
.Re-Init Extensions → بازکامپایل همه Extensionها.
پارامترها – صفحه Common
تنظیمات نمای نود و کلونها.
Parent Shortcut → میانبر مسیر داخلی.
Global OP Shortcut → میانبر سراسری.
Internal OPs → ارجاع به اپراتورهای داخلی.
Node View → تعیین نوع نمایشگر نود (پیشفرض یا اپراتور خاص).
Enable Cloning → فعالسازی کلونینگ.
Clone Master → مرجع کلون.
Load on Demand → بارگذاری فقط هنگام نیاز.
Enable External .tox → استفاده از فایل خارجی .tox.
External .tox Path → مسیر فایل .tox.
Reload Custom Parameters / Built-In Parameters → بارگذاری دوباره پارامترها هنگام ریلود tox.
Save Backup of External → ذخیره نسخه پشتیبان در .toe.
Sub-Component to Load → انتخاب یک Sub-Comp خاص از فایل .tox.
Relative File Path Behavior → تعیین رفتار مسیرهای نسبی (نسبت به toe یا tox یا والد).
Info CHOP Channels
اطلاعات اضافی Constraint COMP از طریق Info CHOP قابل دسترسی است.
Common COMP Info Channels
num_children → تعداد Childها.
Common Operator Info Channels
total_cooks → تعداد دفعات Cook.
cook_time → مدت Cook آخر (میلیثانیه).
cook_frame → فریم نسبی آخرین Cook.
cook_abs_frame → فریم مطلق آخرین Cook.
cook_start_time / cook_end_time → زمان شروع و پایان Cook (ms).
cooked_this_frame → آیا در این فریم Cook شده (۱ = بله).
warnings → تعداد هشدارها.
errors → تعداد خطاها.