Первая часть - разброс
Вторая часть - реализация упора и сошек
Сейчас в игре и для точности самого оружия и для симуляции его веса (тяжелее оружие → сложнее удержать на весу) используется единственная характеристика - разброс (dispertion). Однако, такая механика не учитывает, что при стрельбе с колена, лежа или при установке оружия на поверхность фактор веса оружия на стрельбу либо сильно сглаживается, либо вообще пропадает.
Поэтому предлагаю снизить разброс большинства видов оружия но взамен ввести качание прицела, на максимальное отклонение и интенсивность которого будет влиять вес. Задержать дыхание для одиночного точного выстрела по прежнему можно. Сидя и лежа качание снижается, в упоре или на сошках изчезает полностью. При стрельбе от бедра разброс выше (потому что сделать реалисчтичную отдачу при стрельбе с рук нереально).
Теперь про сошки и упор.
Сначала небольшое отсупление, для тех, кто до сих пор не понял, в чем разница.
Отступление с объяснением разницы
Как я писал выше, оружие имеет вес, и чем оно тяжелее, тем сложнее его удержать. Для компенсации веса оружие необходимо во что-то упереть. Это может быть и рука стрелка, которая упирается в колено при стрельбе сидя (стрельбе с колена) или упирается в землю при стрельбе лежа. Но так как рука - все еще часть человеческого тела, она так же подвержена неконтролируемым движениям. Поэтому можно упереть оружие в какой-либо предмет, чтобы оно лежало на этом предмете. При этом углы наведения в стороны ограничены лишь характером предмета: если это небольшой предмет (кирпич/рюкзак/пенек), вокруг него можно крутится на 360 градусов, если же это оконная рама, повернутся больше, чем на +/- 90 градусов физически не получится. Наведение по вертикали работает аналогично: находясь на земле, не получится провалится сквозь нее, чтобы задрать ствол вверх, но если ты стоишь у окна, можно и присесть, чтобы стрелять вверх, и наклонится, чтобы стрелять вниз. Второй способ, это закрепить сам предмет для упирания на свол оружия, и это называется сошки. Благодаря такой конструкции, упереть оружие можно на земле.
Что мы имеем в игре? Гибрид сошек и упора называется “упор”, оружие даже без сошек ставится в него на земле, а при стрельбе с упора, а не с сошек есть горизонтальные и вертикальные ограничения на углы наведения. Ну и как я писал в первой части, на разброс это никак не влияет, что делает нынешнюю стрельбу с упора бесполезной. Предлагаю разделить эту механику на стрельбу с упора и стрельбу с сошек. Упирать можно любое оружие и ограничения на углы определяются самим объектом. Ставить на сошки можно только оружие (вот это поворот) с сошками. (я не прошу анимацию сошек, только влияние на стрельбу).
И немного про реализацию (кое-что уже реализовано):
- при попытке навестись с упора выше/ниже боец садится и наклоняется вперед соответственно.
- при попытке навестись с упора левее/правее боец тут же выходит из упора
- при попытке навестись с сошек левее/правее боец плавно сдвигает оружие левее/правее
- 2 режима взаимодействия (в настройках). Первый (как сейчас): постановка в упор/сошки производится по нажатию кнопки. Второй: состояние кнопки 1 - боец автоматически ставит оружие на упор/сошки, состояние 2 - боец не ставит оружие на упор/сошки