PDA

Просмотр полной версии : Прицелы в СЯ



egorOgr
21.12.2009, 00:39
Руководство по созданию и добавлению прицелов в СЯ.

Параметры прицела в СЯ.

Прицел в СЯ прописывается в файле common_res.eng, в блоке sights
Параметры блока:
1. Название прицела;
2. Модель неподвижной сетки(если есть);
3. Модель подвижной сетки по вертикали (поправка по дальности)(если есть);
4. Модель подвижной сетки по горизонтали (боковые поправки)(если есть);
5. Модель вращающейся сетки(если есть);
6. Модель курсора для наведения пушки(если есть);
7. Тип маски(0 - нет, 1 - квадрат, 2 - круг);
8. Угол зрения, град;
9. Кратность(увеличение) - масштабирует весь прицел: само изображение, сетку прицела и маску;
10. Кратность(увеличение) - нужно вводить тоже самое что и в 9;
11. Масштаб поля видимости(общий зум) - масштабирует изображение, не влияет на сетку и маску;
12. Шаг увеличения (0.0 - плавное) - неизвестно, не трогать;
13. Начальное положение подсветки - 0 - выкл, 1 - вкл;
14. Конечное положение подсветки - 0 - выкл, 1 - вкл;
15. Дискретная подсветка - true - фактически работает, как задержка между включением/выключением подсветки, false - задержки нет. Лучше не трогать(ставить false);
16. Цвет выкл. подсветки;
17. Цвет вкл. подсветки;
18. Цвет "замутнения" оптики;
19. Масштаб сетки - масштабируется только сетка прицела;
20. Ломающийся прицел - true - если чанк (даммик или объект в модели) прицела не связан по иерархии с пушкой или маской пушки, и требуется, чтобы прицел "следил" за пушкой;
21. Точность наведения ИИ;
22. Диапазон шкалы по дальности (мин.);
23. Диапазон шкалы по дальности (макс.);
24. Диапазон шкалы боковых поправок (мин.);
25. Диапазон шкалы боковых поправок (макс.);
26. Угол поворота чанка прицела, град;
27. Качество прицела - чем выше качество тем на большей дистанции из него можно найти цель(для ИИ);
28. Прицел может быть поврежден;
29. Прицел закрывается колпачком;
30. Угол вращения прицела по горизонтали (мин), град;
31. Угол вращения прицела по горизонтали (макс), град;
32. Масштаб угла вращения;

Принцип работы прицела в СЯ.

Как и в реальной жизни, основные оптические параметры прицелов в СЯ - кратность и поле зрения(угол зрения). Кратность – увеличение (приближение).
Поле зрения - то, что мы видим в окуляр прицела.

Следует обратить внимание, фактически кратности две: 9.(10.) и 11. параметры. То есть конечный результат есть произведение значений этих параметров.
Поле зрения реализуется закрыванием маской того, что не должно попасть в окуляр.

Маска (7.) бывает следующих типов:

0 – отсутствие маски

1 – квадрат

2 – круг

Соответственно и поле зрения 0 – на весь монитор, 1 – квадратное, 2 – круглое.


Кратность и поле зрения связаны между собой: увеличивая кратность (параметр 9.) и не изменяя параметра поля зрения (11.), вы увидите, что маска и сетка прицела в игре тоже увеличиваются, увеличится и площадь поля зрения ( но содержание изображение поля зрения, то что мы видим в окуляр прицела, на мониторе остается неизменным. )
Здесь возможно возникновение неприятных моментов: при конкретном значении кратности и поля зрения, последнее может вылезти за пределы экрана монитора. То есть реально вы должны бы видеть больше, но монитор это обрезает, да ещё и форму искажает, если тип маски круг.
Если вы посмотрите на параметры кратности и поля зрения оригинальных прицелов в СЯ и сравните их с реальными значениями ( которые можно посмотреть, например, здесь: http://www.tarrif.net/cgi/production/all_gunsights_adv.php, но будьте осторожны - тут могут быть неточности и ошибки), то увидите что поле зрения в СЯ занижено, а итоговая кратность завышена. Это путь решения половины проблемы - сохраняется форма поля зрения ценой правильного значения.
Второй вариант: правильное поле зрения, но уменьшенная кратность, так, чтобы поле зрения полностью умещалось на экране.
Третий вариант: можно оставить всё, как есть.
Таким образом, создавая прицел, вы должны быть готовы к тому, что вам придётся делать выбор из этих трёх вариантов.
От этого выбора зависит и то, как должна будет выглядеть сетка прицела. Так, при первом варианте, сетка должна быть более компактной по сравнению с той, какая была бы при реальных значениях поля зрения. Причём цены делений шкал должны быть одинаковыми. Что в свою очередь может привести, к необходимости искажать вид сетки, чтобы шкалы влезали в уменьшенное поле зрения.


Устройство сетки прицела.

Сетка может быть без подвижных частей, может иметь нить для ввода поправок по дальности (часть движется вертикально), нить для ввода поправок по горизонтали (часть движется горизонтально), секторную шкалу (вращающаяся часть, обычно, шкала по краю поля зрения, например: в немецких прицелах).



Создание сетки прицела.

Сетка рисуется в Microsoft Visio.
Процесс рисования подробно описывать не буду. Всё просто: подкладывается картинка, поверх неё рисуется сетка. В сетке не должно быть никаких шрифтов и заливок - их конвертер не поймёт. Всё нужно отрисовать в линиях. Толщина линий в Visio не имеет никакого значения - в конвертированной сетке толщина будет своя, одна для всех.
Круг, ограничивающий поле зрения, можно не рисовать вообще.
Но в обязательном порядке должен быть квадрат, описанный вокруг нашей сетки, причём центры квадрата и сетки должны совпадать. Это нужно для того, чтобы определить размеры сетки в СЯ.

Совет: квадрат должен быть много больше сетки - это позволит избежать неприятного момента при вставке сетки в игру, когда, правильно отмасштабировав сетку, может оказаться, что квадрат попадает в поле зрения.
Старайтесь избегать наложения линий друг на друга. В лучшем случае в игре это приведёт к тому, что такие участки будут иметь значительно более яркую подсветку. В худшем - может оказаться, что наложенные друг на друга линии на самом деле не совпадают - выглядят толще, двоятся и т.п. Хотя, таким образом можно попробовать сымитировать более толстые линии, если есть такая необходимость.

Каждую часть сетки, если она есть, мы должны сохранить в отдельный файл.
Для каждой части выделяем входящие в неё элементы и !обязательно! наш внешний квадрат. Красим всё в белый цвет и сохраняем выделенное в .emf файл.


Добавление прицела в игру с помощь редактора объектов.

Запускаем редактор объектов СЯ. Нажимаем "F8"(или из верхнего меню "Утилиты"->"Конвертер из EMF") выбираем .emf файл. И так для всех наших частей. После этого можно там же, в редакторе объектов, открыть получившиеся .go файлы и проверить, всё ли правильно сконвертировалось.
Переписываем полученные .go в "data\k42\loc_rus\go\sights" и прописываем новый прицел в common_res.engcfg. Для начала можно ограничиться только именами .go файлов частей сетки, а так же параметрами кратности и поля зрения прицела, и посмотреть, что получилось в игре.


Настройка.

Для начала нам потребуется полигон. Лучше использовать абсолютно ровный полигон без растительности. Для удобства ориентации, на нём можно проложить дороги по сторонам света (крестом или хотя бы одну прямую). На дорогу (если их много, то в точку их пересечения) ставится танк игрока. Вокруг него расставляются мишени - используются танки той же стороны, что и игрок (чтобы не отвечали). Поскольку прицелы размечают обычно делениями кратными, например, сотням метров, то и мишени должны находиться от испытуемого на соответствующих "круглых" расстояниях (500м, 700м, 1000м и т.п.). Расставлять всё строго по координатам с ручным вводом, не мышкой (очень помогает теорема Пифагора). Чем больше мишеней вы установите на разных расстояниях, тем лучше. Схему расстановки со всеми расстояниями нужно зарисовать и сохранить. В качестве мишеней лучше использовать большие танки. Их основные размеры (длина, ширина и высота) нужно чётко знать. Мишени должны быть одной из сторон (длина или ширина) строго перпендикулярны осевой линии прицела - линии, соединяющей их с танком игрока.
Перво-наперво прицел настраивается по шкалам в тысячных, если таковые есть. А они, как правило, есть, даже если они не похожи на шкалу в обычном понимании (риски с цифрами). Например, в прицеле ТШ-15 в качестве такой шкалы выступает система, состоящая из "^" и "|", а в немецких прицелах - это система треугольников.
С помощью параметра 19. в описании нашего прицела нам необходимо добиться, чтобы шкала при заданных кратности и поле зрения показывала правильные значения в тысячных. Стрелять никуда не нужно. Основная идея такая: Нужно свести шкалу к реальным значениям в тысячных, зная расстояние до цели и её реальные размеры, а значит и её размеры в тысячных: 'размер цели в тысячных в прицеле' = ('размер цели в метрах'*1000)/'расстояние до цели в метрах' (Подробнее можно почитать здесь: http://www.wwiionline.ru/forumwwii/viewtopic.php?t=289). То есть выбираем какую-нибудь мишень, лучше если она занимает всё деление. Например, известно, что цена деления = 2 тысячные, а мишень на таком-то расстоянии в ширину должна занимать как раз 2 тысячные. Находим мишень на этом расстоянии, стоящую к нам носом/кормой, подводим к ней проверяемое деление. Если деление не совпадает с расчётным значением (в нашем примере мишень должна чётко лечь в деление), то буквально линейкой на мониторе меряем наше деление и мишень. Составляем пропорцию и вычисляем, во сколько раз нам нужно увеличить/уменьшить деление, чтобы оно совпало с мишенью.
Для верности операцию повторяем для разных комбинаций дальности и ширины/длины мишени - в идеале число должно получаться одинаковое. То же самое и для размеров шкалы в тысячных по вертикали, если такие есть. Если всё совпало, то пересчитываем параметр 19. в описании прицела и проверяем. Если число не сходится для замеров по горизонтали, то что-то мы делаем не так. Если не сходится горизонталь с вертикалью, то, скорее всего, у нас искажены пропорции сетки: Всё равно пересчитываем параметр в описании прицела, например, из числа по горизонтальным замерам, и растягиваем нашу сетку в Visio в число, полученное по вертикальным замерам, раз, но только по вертикали. Естественно, после этого сетку нужно переконвертировать.

Затем нужно настроить шкалы поправок по дальности (или, как правильно они называются в соответствующей литературе, шкалы углов места цели).
Принцип следующий: Для каждой такой шкалы в нашем прицеле стреляем из соответствующего вооружения соответствующими боеприпасами по всем целям. Как только попадаем в цель, не трогая положение самого прицела, то есть вооружения, подводим к месту прицеливания нить ввода поправок по дальности или подобный элемент сетки, если есть(колёсико мышки или "+" и "-" на NumPad). Делаем скриншот и запоминаем, что этот скриншот для цели с таким-то расстоянием. Если в этом месте прицела уже есть правильное деление шкалы, то скриншот можно не делать. Поскольку таких скриншотов наверняка будет довольно много, удобно их объединить в один, например, отмечая разные показания шкалы разными цветами, чтобы не запутаться(Пример - пристрелочная картинка во вложении для ТШ-15).
Теперь полученную картинку подкладываем под нашу сетку прицела в Visio и перерисовываем сетку.
Если целей недостаточно, чтобы закрыть все деления шкалы, то можно проинтерполировать недостающие деления. Поэтому цели расставлять удобно, пропуская 1-2 деления. При интерполяции следует помнить, что снаряд летит по параболе, причём, чем дальше он улетает, тем больше угол между касательной к его траектории в этой точке и направлением выстрела. Из этого следует, что расстояние между двумя соседними делениями шкалы увеличивается при увеличении значений этих делений.
Возможно, эту операцию придётся повторить несколько раз. Но, в конечном счёте, мы должны получить готовый прицел.
Для секторных шкал система аналогичная. Но процесс настройки прицелов несколько отличается: тут определённую роль играет параметр 32. в описании прицела - своего рода коэффициент, связывающий скорость вращения вращающейся части со скоростью перемещения подвижной по вертикали части сетки. Перед пристрелкой шкалы нужно с помощью этого, а так же 22. и 23. параметров определиться с углами поворота вращающейся части и скоростью её вращения. К сожалению, не всегда это получается. Например, после пристрелки выясняется, что вся шкала не вписывается в окружность или, наоборот, занимает слишком маленький сектор - получилась очень сжатой. Тогда приходится менять эти параметры и всё начинать заново.


PS
Огромное спасибо Andrey12345 за поддержку и помощь в моддерстве СЯ. А так же stone2009 за помощь в составлении данного руководства.

Во вложении также архив с .emf файлами прицелов ТШ-15 и SflZF(прицел Стуга).

Nordd
29.12.2009, 10:27
Предлагаю в этой теме также постить имеющиеся (не реализованные в СЯ) сетки прицелов, с цель создания библиотеки сеток прицелов.
Во избежания засорения ветки, пожелание - не писать просьбы по поиску сеток ( а нет ли у кого сетки для.....) и т д.

Сидоров
24.01.2010, 17:00
Для "Тигра 1" сетку выкладывать не буду, т.к. она должна быть уже в процессе изготовления. А вот если у кого-то есть прицельная сетка для "Королевского Тигра" - просьба поделиться, скоро понадобится. :)

Da_Don
28.01.2010, 14:11
Спасибо

Timsons
11.03.2010, 16:55
Спасибо за подробный мануал. Хочу прикрепить к Stug IIIG прицел от Т-4. Но не могу найти файл common_res.engcfg . У меня его нет. Поиск тоже ничего не дал. Хотя прицелы нормально все работают кроме Stug IIIG . Может кто обьяснит в чём дело?

Vovus
05.06.2014, 19:49
У кого-нибудь есть данные по командирскому прибору ПТК (поле зрения и кратность увеличения)? Стоял почти на всех наших танках а информации в инете не найти совсем. И по другим нашим прицелам если есть тоже пригодится. По всем немецким и частично нашим я уже нашел. С сетками тоже не совсем понятно, их найти еще сложнее.. Сейчас в игре кратность (зум) прицелов не соответствует реальным значениям, также и по полям зрения, к тому же они не пропорциональны между собой. Реальный разброс по зуму должен быть от 2.4 до 5, по полю зрения от 8 до 28 градусов

Vovus
07.06.2014, 11:31
Добавлю сетки которых на данный момент нет в игре:

сетка для пушек зис-2/3 пп1-2, пп1 и пп1-3 для 45-ток
http://img-fotki.yandex.ru/get/6729/224949486.0/0_fa126_aadbbcdd_orig


для т-34-76 от неизвестного прицела (точно не от тмдф7 и рт4-7)
http://img-fotki.yandex.ru/get/5203/224949486.0/0_fa128_5f787664_orig


для ис2
http://img-fotki.yandex.ru/get/9064/224949486.0/0_fa12a_dd894882_orig


различие сеток пантеры D и A
http://img-fotki.yandex.ru/get/9824/224949486.0/0_fa24b_7d6a8ceb_orig

zf3x8 для пушек pak38/40
http://img-fotki.yandex.ru/get/9767/224949486.0/0_fa24c_e0ba52a9_orig

A_A_A
10.06.2014, 18:41
Так вроде для ЗиС-2/4 давно есть...

Vovus
10.06.2014, 19:14
Ну ведь не хватает одного деления) Для зис-2 сетка пп1-2, для 45-ки М-42 пп1-3, а пп1 для 45-ки 37г.