Предварительный просмотр деформации земли в Farming Simulator 25
Предварительный просмотр деформации земли в Farming Simulator 25
Это уже не секрет, что земля в Farming Simulator 25 будет деформироваться. Но вы ведь хотите подробностей, не так ли? Ну так идите и получите их!
Наряду с новыми скриншотами, наглядно демонстрирующими, как будет деформироваться земля, старший инженер-программист Эдди Эдвардс из GIANTS Software более подробно расскажет о том, как это на самом деле работает.
Эдди, расскажи нам сначала о себе и своей должности. Какова твоя роль?
Я один из старших программистов движка для Farming Simulator. Я работаю в GIANTS с первых дней FS13. Я создал оригинальный порт для PlayStation 3 и отвечал за другие порты движка GIANTS на PS4, PS5, Switch и iOS. Я в компании в основном «парень PlayStation», но также работаю над кроссплатформенными технологиями движка, такими как карты плотности, рендеринг, компилятор шейдеров, немного физики, аудио и т. д.
В GIANTS Engine не так много того, над чем я не работал в той или иной степени за последние 12 лет! И в частности, конечно, я создал новые технологии, которые приносят нам деформацию земли для FS25 — улучшенную систему Density Map, новую систему геометрии ландшафта и систему виртуального текстурирования ландшафта.
Как деформируется земля
В зависимости от типа грунта деформация и сжатие грунта зависят от множества факторов. Посмотрите!
Какие факторы определяют деформацию грунта?
Эдди: На это влияет ряд факторов. Во-первых, каждый тип грунта имеет разный уровень «твердости» и «вязкости». Асфальт вообще не может деформироваться, например, в то время как грязь может деформироваться сильно (из-за разной «твердости»), а езда по снегу мгновенно ее сминает, а езда по грязи заставляет ее сжиматься в течение более длительного времени (из-за разной «вязкости»). Кроме того, если грунт мокрый, это также влияет на деформацию.
На деформацию также влияет то, какой транспорт вы ведете — вес трактора и ширина его шин влияют на реакцию местности. И более медленно движущееся транспортное средство будет тонуть быстрее, чем быстро движущееся транспортное средство.
Как деформация земли влияет на игровой процесс? Что «почувствуют» игроки?
Впервые FS25 обеспечивает реальный физический отклик на рельеф местности — вы почувствуете, как трактор подпрыгивает на земле, и увидите, как он оставляет колеи и следы, а если вы вернетесь и проедете по этим колеям и следам, вы также почувствуете их эффект.
Также сложнее управлять, если вы закопались в землю, как и в реальной жизни. Вождение в дождь будет сложнее, чем вождение в солнечную погоду. Теперь конфигурация ваших шин также имеет большее влияние, и вам, возможно, придется подумать, какие шины лучше всего использовать для разных сезонов и разных типов полевых работ.
Вспашка на другом уровне
Хотя деформация почвы индивидуальна для каждой машины, ее веса и других условий, одна конкретная полевая операция, вероятно, будет ощущаться совершенно иначе в Farming Simulator 25.
Какие машины/оборудование лучше всего продемонстрируют деформацию грунта?
Вспашка теперь — это новый опыт: плуг создает настоящие физические борозды, которые не только более четко видны на экране, но и влияют на трактор, когда он по ним едет. Кроме того, теперь вступают в свои права машины с гусеничным ходом, поскольку они могут хорошо справляться с неровностями.
Производительность, визуальные эффекты и испытания!
Какие технические сложности возникли при реализации деформации грунта?
Деформация земли работает на сетке размером 12,5 см, что составляет 16K x 16K для карты размером 2 км (это 256 мегапикселей — сама карта всего 4 мегапикселя). Были различные технические проблемы с эффективным хранением этих данных, а также с эффективной обработкой данных, например, когда на полях работают такие инструменты, как культиваторы или плуги, и когда по полям проезжают транспортные средства и реагируют на эти мелкомасштабные неровности и гребни.
Существует также «процедурный» уровень деформации земли, который отображается с помощью геометрии аналогично тому, как рельеф отображается с помощью текстур с помощью изображений, за исключением того, что он выполняется на центральном процессоре, а не на более быстром графическом процессоре, поэтому нам пришлось существенно оптимизировать этот код.
Как хранятся и управляются данные о деформации грунта?
Поскольку деформация земли работает с более высоким разрешением, чем мы имели дело раньше, мы хотели сэкономить память в областях, которые не деформированы (например, на скалистых горах или в местах, где игрок еще не был), поэтому мы создали «разреженную» версию карт плотности. Она сохраняет плитки данных только в тех областях, где деформация действительно существует. Кроме того, чтобы еще больше уменьшить объем памяти, все плитки сжимаются с использованием более продвинутой версии существующего сжатия карты плотности, которое мы использовали в прошлом.
Кроме того, для поддержки быстрых операций с этими данными высокого разрешения мы создали Density Map Processing Unit (DPU), который похож на небольшой эмулятор GPU, работающий на CPU, и способен выполнять операции с Density Maps на гораздо более высоких скоростях, чем раньше. Его можно фактически запрограммировать с помощью нашего внутреннего языка шейдеров, хотя эта функция пока не используется в FS25.
Для скорости вся система (сжатие данных, операции DPU и процедурная генерация) написана с использованием собственных инструкций SIMD (SSE4.1 или AVX2 на ПК и консолях, и NEON на компьютерах Mac на базе ARM). В этой версии Farming Simulator гораздо больше оптимизированного под SIMD кода, чем когда-либо прежде.
Расскажите, как вы оптимизировали физику деформации для повышения производительности.
В предыдущих версиях Farming Simulator пользовательская физика транспортного средства имела дело с рельефом с разрешением 0,5 м. С деформацией и смещением рельефа разрешение теперь составляет 0,125 м — в 4 раза больше в каждом направлении или в 16 раз больше треугольников. Это сделало наше обнаружение столкновений колес с рельефом в 16 раз медленнее, поэтому мы написали пользовательскую реализацию этого для FS25, которая примерно в тридцать раз быстрее старого кода, так что в целом наша физика транспортного средства теперь примерно в два раза быстрее, чем раньше, даже со всеми новыми функциями.
Новый физический код включал в себя довольно сложную математику и численный анализ — к счастью, у меня есть степень магистра математики, что очень помогло мне в этой задаче!
Как игра обрабатывает визуальные переходы при деформации земли?
Еще одной новой функцией FS25 является сетка квадродерева ландшафта, которая обеспечивает визуализацию треугольников с высоким разрешением вблизи игрока, но использует более низкое разрешение на большем расстоянии — нет необходимости визуализировать деформированную геометрию, если она находится на расстоянии сотен метров.
Геометрия плавно трансформируется из деформированной в недеформированную на некотором расстоянии от игрока. Однако этот переход довольно хорошо скрыт из-за другой новой технологии в FS25, которая является системой виртуальных текстур ландшафта.
Хотя деформация не визуализируется на расстоянии с помощью треугольников, она все равно затеняется и визуализируется в текстуре ландшафта (с использованием графической техники, называемой нормальным отображением). Таким образом, деформация все еще четко видна, даже на отдаленных участках, где количество визуализированных треугольников очень мало, и вы можете видеть следы, оставленные транспортными средствами ИИ, даже если вы наблюдаете за ними с расстояния в полкилометра!
Что лично вам больше всего нравится в деформации земли в игре?
Автор:Это был очень полезный опыт внедрения всех этих новых технологий, и мне нравится тот факт, что в результате игрок получает не только более качественные визуальные ощущения, но и то, что игра взаимодействует с физикой и игровым процессом такими интересными способами, что делает FS25 гораздо более интересным и реалистичным «симулятором», чем когда-либо прежде!
Farming Simulator 25 mods