> For the complete documentation index, see [llms.txt](https://docs.bestway.com.ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bestway.com.ua/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli/orudie.md).

# Орудие

## Описание элементов орудия

Кость `gun_rot` является родительской костью орудия, линкуется к кости `turret`\
Кость работает по инверсной кинематике.

![Схема линковки элементов орудия](https://2052154247-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fx2fkAZ6oKGGdByFhKPpa%2Fuploads%2FFkx6BUiB2KFihSJXN8kP%2F8.png?alt=media)

<table><thead><tr><th width="165">Название</th><th>Описание</th><th>Object Properties</th></tr></thead><tbody><tr><td><code>gun_rot</code></td><td>Кость отвечает за наведение орудия по вертикали. Работает по инверсной кинематике.</td><td>poly<br>ID=gun_rot<br>IKType=revolute<br>указываются пределы, ограничивающие угол подъема и опускания ствола орудия</td></tr><tr><td><code>gun</code></td><td>Имитирует подвижную часть ствола танковой пушки и обладает анимацией.</td><td>poly<br>ID=gun<br>Animation</td></tr><tr><td><code>gun_vol</code></td><td>Волюм покрывает видимую часть костей <code>gun</code> и <code>gun_rot.</code><br></td><td>volume</td></tr><tr><td><code>foresightN</code></td><td>Имитирует пулемет, установленный в маске пушки.<br>N - число, согласно <a href="/gem-rts-v1-ru/modeli/plan-nastroiki-modelei-tekhniki/sozdanie-ierarkhii-vspomogatelnykh-kostei-i-volyumov-modeli.md#kosti-pulemetov">правилу</a>, устанавливающему соответствие номера кости <code>foresight</code> виду установленного пулемета</td><td>-</td></tr><tr><td><code>foresight1</code></td><td>Эффектор используется для спавна спецэффекта выстрела танковой пушки</td><td>-</td></tr></tbody></table>

### Схема привязки элементов орудия

* turret
  * `gun_rot`
    * `gun`
      * `foresight1`
      * `gun_vol`
    * `foresightN`

## Расширение "bone\_rotator"

Расширение `extender` под названием `bone_rotator` используется для реализации различных механизмов наводки, особенно применимая для вращательных систем в орудиях и других устройствах. Основной принцип заключается в создании взаимосвязи между двумя костями через инверсную кинематику (ИК), обеспечивая их вращение относительно осей Z.

### Принцип работы

Расширение `bone_rotator` связывает две кости, обычно называемые `gun_rotator1` и `gun_rotator2`. Эти кости работают по законам инверсной кинематике, создавая эффект "магнитного" притяжения друг к другу по оси Х. Движок корректирует положение этих костей так, чтобы оси Х двух костей были направлены друг на друга. Такая технология особенно удобна для реализации телескопических механизмов (например, поршней), где требуется, чтобы вращение одной кости зависело от другой.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcoekYOgYzznf2Dz2wFzCJ6TNSDlgVeCXJ7SMMtYaByE1ft_kjYsIiqcarduJsnuJJwfe5xdnSCBKr_yKNwaBmi6_U7YWC-mRa4OZjNp1rYKjgY7hZiT5XK04SQTr_hsJ-Tng3RSgYTTNcs_djSzqjru7Mn?key=lL_zWhi9OpK0iXcLXfnQFw" alt=""><figcaption></figcaption></figure>

**Свойства костей**

Кости, задействованные в этом механизме, обладают теми же свойствами, что и любые другие кости с ИК.

<table data-header-hidden><thead><tr><th width="240">Параметр</th><th>Описание</th></tr></thead><tbody><tr><td><code>poly</code></td><td>Определяет, является ли кость видимой.</td></tr><tr><td><code>ID</code></td><td>Идентификатор компонента, к которому относится расширение</td></tr><tr><td><code>IKType=revolute</code></td><td>Задает тип инверсной кинематики (вращательное соединение).</td></tr><tr><td><code>IKMin=&#x3C;значение></code></td><td>Минимальное ограничение вращения (при необходимости).</td></tr><tr><td><code>IKMax=&#x3C;значение></code></td><td>Максимальное ограничение вращения (при необходимости).</td></tr></tbody></table>

**Применение:**

* телескопические механизмы;
* поршни;
* другие системы с зависимым вращением костей.
