Пара слов от Kacper Domański (разработчика AI в The Astronauts), которые могут порадовать некоторых PC игроков.
Kacper поделился интересной инфой о разработке с внутренней кухни, а также рассказал про FoV (поле зрения) и как оно работает в Witchfire.
Парни из AMD подогнали астронавтам сверхширокий LG монитор, оказавшимся и благословением, и проклятием.
Хорошая новость в том, Witchfire смотрится охренительно в 21:9.
Часть про проклятье, конечно же, шутка, но подарок заставил попотеть разработчиков над рендерингом оружия. Результаты могут порадовать PC игроков.
FoV и с чем его едят
FoV (поле зрения) — это, вероятно, штука, с которой большинство игроков шутанов знакомы: оно контролирует, по сути, то, что вы видите на экране и влияет на восприятие расстояния, размера и скорости игроками.
Мы меняем FoV во время игры, уменьшая его при наведении, что создаёт эффект зума, и слегка увеличивая его при спринте и броске, чтобы создать ощущение быстрого движения. В то же время (особенно большой) FoV может деформировать объекты определенным образом и влияет на производительность, поскольку на экране появляется больше объектов.
Как раз по причине нагрузки на отрисовку консоли лочат этот параметр, чтобы обеспечить стабильный fps. На ПК у нас обычно полный контроль над этой настройкой (в разумных пределах, безусловно).
Как может происходить деформация объектов? Например, так:
Наибольшие деформации происходят на ближайших к камере объектах — руке игрока и оружии:
Мы определенно хотим дать игрокам возможность выбрать наиболее подходящий для них вариант, но мы не тратим сотни часов на полировку вещей, которые легко поломать!
Другая проблема заключается в том, как выглядит оружие, когда игрок целится. Мы изменяем угол поля зрения камеры, чтобы получить относительный зум эффект. При сверхвысоких или сверхнизких значениях FoV оружие выглядит хреново — либо слишком большая часть оружия торчит на экране, либо наоборот.
К тому же, благодаря возможности у игрока выбрать положение перекрестия (в центре или пониже), изменение поля зрения может полностью нарушить перспективу. Перекрестие может быть направлено в голову врага, но сам пистолет будет нацелен в живот.
Решение всех этих проблем, к примеру, фиксация FOV для модели оружия и игрока на постоянном значении при этом оставляя FoV переменным, довольно простое на бумаге и намного сложнее в реальности. Нам потребовалось некоторое время, чтобы приготовить это правильно.
Первым шагом было внесение изменений в исходный код Unreal Engine, чтобы мы могли явно выбирать, хотим ли мы рендерить какую-либо модель в FoV камеры или кастомно. Затем мы немного поэкспериментировали с углом и остановились на магическом числе 77, чтобы Jakub, аниматор всех наших пушек, мог расположить их и сделать анимации, которые в конечном итоге выглядели бы точно так же, как и в его программном обеспечении.
Затем добавили щепотку матана, чтобы вращать камеру в зависимости от положения перекрестия на экране. Это позволило модели пистолета вписаться в UI; в противном случае всё ощущались бы как-то так.
Так всё и работало…пока мы не получили этот великолепный 21:9 экран и не заметили, что рендеринг оружий сломан.
Не то чтобы это было полной катастрофой, но мы хотели сделать эту часть игры идеальной. Поэтому я и изменил нашу залоченную FoV, сделал вертикальной вместо горизонтальной, и это решило проблему раз и навсегда. Не стесняйтесь спрашивать подробности в Твиттере.
Небольшое дополнение от Каспера в Твиттере.
So it basically works like cropping the picture in given axis, like here. The background itself would change (that's the camera fov) but gun was cropped :) pic.twitter.com/uzcZekwG42
— Kacpi 🧙♀️🔥 (@kacpidev) April 8, 2019
В конце концов, прямо сейчас у парней полный контроль над тем, как выглядят пушки в игре, что в итоге позволит играть так, как нам удобно: