خلاصه (Summary)

در سیستم Bullet Dynamics، کامپوننت Bullet Solver COMP مشابه جهان/شبیه‌سازی‌ای است که بازیگران/اجسام (Actor COMPs) در آن عمل می‌کنند.
این کامپوننت شامل هر تعداد Actor (کامپوننت Actor) یا نیروها (Force COMP / Impulse Force COMP) می‌شود و همان‌طور که از نامش پیداست از Bullet Physics API برای اجرای شبیه‌سازی استفاده می‌کند.

Bullet Solver COMP یک شبیه‌سازی بولت را بر اساس پارامترهای شبیه‌سازی (مثل ضریب خطی یا ضریب زاویه‌ای) اجرا می‌کند و ترنسفورم Actorها را در طول شبیه‌سازی به‌روزرسانی می‌کند.
این شبیه‌سازی می‌تواند توقف شود، آهسته شود، سریع‌تر شود یا دوباره از اول شروع شود.

🔹 شبیه‌سازی در یک خلأ عمل می‌کند، بنابراین هیچ مقاومت هوایی روی بازیگران اعمال نمی‌شود.
🔹 شبیه‌سازی با نرخ نمونه‌برداری مشخص اجرا می‌شود و ترنسفورم Actorها به همان نسبت آپدیت می‌شود. نتایج دقیق این تغییرات در Bullet Solver CHOP قابل مشاهده است.

Actorهایی که توسط Bullet Solver COMP ارجاع داده می‌شوند، لازم نیست داخل شبکه‌ی آن قرار داشته باشند؛ آن‌ها می‌توانند در هر جایی از پروژه باشند، به شرطی که همزمان درون یک Bullet Solver دیگر نباشند.

👀 مرتبط‌ها:

  • Bullet Dynamics

  • Actor COMP

  • Force COMP

  • Impulse Force COMP

  • Constraint COMP

  • Bullet Solver CHOP


پارامترها (Parameters)

🔹 Solver Page (حل‌گر)

  • Actors (actors) → Actorهای شبیه‌سازی. (نمی‌توانند همزمان در Bullet Solver دیگری باشند).

  • Global Forces (forces) → نیروهای سراسری که روی همه‌ی Actorهای غیر استاتیک اعمال می‌شوند.

  • Gravitational Acceleration (gravity) → گرانش (m/s²) برای همه‌ی Actorها (مستقل از جرم).

    • X, Y, Z → تعیین مقدار گرانش روی هر محور.

  • Dimension (dimension) → ابعاد شبیه‌سازی:

    • 1D → فقط حرکت خطی روی X (بدون چرخش).

    • 2D → حرکت روی XY و چرخش حول Z.

    • 3D → حرکت و چرخش کامل در XYZ.

  • Linear Multiplier (linmult) → ضریب حرکت خطی Actorها. (۰ → ممنوع، ۱ → آزاد).

  • Angular Multiplier (angmult) → ضریب حرکت زاویه‌ای Actorها.

  • Initialize Sim and Collision Shapes (initall) → بازنشانی همه‌ی اجسام (موقعیت، سرعت، جهت) + بازسازی شکل‌های برخورد.

  • Initialize Sim (init) → بازنشانی اجسام (بدون بازسازی شکل برخورد).

  • Start Sim (start) → شروع شبیه‌سازی.

  • Play (play) → اجرای شبیه‌سازی (توقف/ادامه).

  • Sample Rate (rate) → نرخ نمونه‌برداری.

  • Simulation Speed (simspeed) → سرعت شبیه‌سازی (ضریب زمان).

  • Feedback CHOP (feedback) → بازخورد گرفتن از یک CHOP و بازنویسی سرعت/ترنسفورم Actorها. (مثلاً می‌توان سرعت را معکوس کرد).

  • Perform Contact Test (contacttest) → تست برخورد برای همه اجسام (کندتر می‌شود ولی لازم برای خروجی colliding/total_collisions).

  • Always Simulate (alwayssim) → شبیه‌سازی در هر فریم (حتی وقتی در حال توقف است).

  • Callbacks DAT (callbacks) → فراخوانی‌های پایتون:

    • onCollision(solverComp, collisions)

    • onFrameStart(solverComp)

    • onFrameEnd(solverComp)

    • onInit(solverComp)

    • onStart(solverComp)


🔹 Xform Page (ترنسفورم)

کنترل ترنسفورم Actorها در فضای جهانی.

  • Transform Order (xord) → ترتیب اعمال Transform (SRT, STR, RST…).

  • Rotate Order (rord) → ترتیب چرخش‌ها (Rx, Ry, Rz و ترکیب‌های دیگر).

  • Translate (tx, ty, tz) → جابه‌جایی.

  • Rotate (rx, ry, rz) → چرخش حول محورهای X, Y, Z.

  • Scale (sx, sy, sz) → مقیاس غیر یکنواخت.

  • Pivot (px, py, pz) → نقطه محوری چرخش/مقیاس.

  • Uniform Scale (scale) → مقیاس یکنواخت.

  • Parent Transform Source → انتخاب والد (Hierarchy, مشخص، یا مبدأ جهان).

  • Parent Object → انتخاب والد خاص.

  • Look At → جهت‌گیری به سمت یک Actor دیگر.

  • Forward Direction → تعیین محور جلو.

  • Look At Up Vector → بردار “بالا” برای پایدارسازی Look At.

  • Path SOP → حرکت Actor روی یک مسیر.

  • Roll → چرخش Actor در حین حرکت روی مسیر.

  • Position → موقعیت روی مسیر (۰ تا ۱).

  • Orient along Path → جهت‌گیری بر اساس مسیر.

  • Orient Up Vector → جهت Y مثبت هنگام Path Orient.

  • Auto-Bank Factor → میزان چرخش خودکار نسبت به انحنای مسیر.


🔹 Pre-Xform Page (پیش‌ترنسفورم)

اعمال ترنسفورم اضافی قبل از Xform اصلی.

  • Apply Pre-Transform → فعال‌سازی.

  • Transform Order / Rotate Order → مثل Xform.

  • Translate / Rotate / Scale / Pivot → مثل Xform.

  • Uniform Scale → مثل Xform.

  • Reset Transform → بازنشانی.

  • Commit to Main Transform → انتقال به Xform اصلی.

  • Xform Matrix/CHOP/DAT → اعمال مستقیم ماتریس ۴×۴.


🔹 Render Page (رندر)

کنترل ظاهر و متریال Actorها.

  • Material → متریال MAT.

  • Render → فعال/غیرفعال بودن نمایش در Render TOP.

  • Draw Priority → اولویت رسم (شفافیت).

  • Pick Priority → اولویت انتخاب در Render Pick.

  • Wireframe Color (RGB) → رنگ وایرفریم.

  • Light Mask → انتخاب چراغ‌هایی که روی Actor اثر بگذارند.


🔹 Extensions Page

مدیریت اکستنشن‌های پایتون:

  • Extension Object / Name / Promote

  • Re-Init Extensions


🔹 Common Page (عمومی)

  • Parent Shortcut / Global OP Shortcut

  • Internal OPs

  • Node View (Default / Operator Viewer)

  • Enable Cloning / Clone Master

  • Load on Demand

  • Enable External .tox / Path

  • Reload Custom / Built-in Parameters

  • Save Backup of External

  • Sub-Component to Load

  • Relative File Path Behavior


Info CHOP Channels (کانال‌های اطلاعاتی)

📌 Specific Bullet Solver COMP Info Channels

  • initializing

  • ready

  • running

  • done

  • timer_fraction

  • timer_seconds

  • timer_index

  • playing_seconds

  • running_seconds

  • length_seconds

  • sample_rate

  • index

  • num_bodies

  • num_active_bodies

📌 Common COMP Info Channels

  • num_children → تعداد فرزندان.

📌 Common Operator Info Channels

  • total_cooks → تعداد دفعات Cook.

  • cook_time → زمان آخرین Cook (ms).

  • cook_frame → فریم آخرین Cook (نسبت به Timeline).

  • cook_abs_frame → فریم آخرین Cook (زمان مطلق).

  • cook_start_time / cook_end_time → زمان شروع/پایان Cook.

  • cooked_this_frame → ۱ اگر در همین فریم Cook شده.

  • warnings / errors → تعداد هشدارها / خطاها.