8 (800) 551-30-75
info@appfox.ru
Since 2008
8 (800) 551-30-75
Почта:
 info@appfox.ru
8 (800) 551-30-75 info@appfox.ru

В любой выбранной вами игре можно найти такой элемент как локация. Что такое локация? Это место разворачивания действий в игре. Это может быть далекий космос, безлюдная пустыня или же центр мегаполиса. В зависимости от этого локация будет содержать в себе элементы графической и смысловой нагрузки: здания, озера, реки и так далее. River Raft не является исключением, игра насыщена красивыми пейзажами самых разнообразных горных и пустынных рек.

В игре для реки представлен 3D художником ландшафт без воды, с видимым руслом.

Все просчитано так, чтоб игрок при прохождении трассы не мог упасть «под локацию». Но, какая же река без воды? Вода конечно присутствует, и в нашем проекте воды имеет форму прямоугольника.

Первая проблема с которой мы сталкиваемся – это как разместить «квадратную воду» на извилистом русле реки.

С помощью шаманского бубна, расставляем «квадратную воду» пол локации. Почему не использовать один большой квадрат воды? Потому что уклон реки разный, есть спуски и подъемы, это делает невозможным размещение одного большого квадрата по всей плоскости реки. Поэтому было принято решение разделить все на несколько больших квадратов. В этот же момент как визуально соединять эти квадраты воды?

Первым что мы пробовали были плоские меши, которые ставили на стыках воды, но это выглядело просто ужасно и когда начинались волны были заметны пробелы в меше воды, что было в свою очередь недопустимо. Из-за своеобразного поведения воды на не плоской (кубичной) плоскости использовать что либо другое было невозможно. После некоторых модификаций кода WaterFX.cs появилась возможности использовать не только плоскую поверхность для воды, но и цилиндрическую. Вначале мы использовали для создания порогов сферу, и добавляли ей текстуру воды, но вскоре сфера стала не актуальна и мы перешли на использование цилиндра с текстурой воды, вот как это выглядит.

Сами цилиндрические пороги не имеют никакого функционала в плане физики.

Далее речь пойдет о том как оптимизировать выполнение скриптов для «квадратов воды». Так как мы разделяем воды на несколько участков, то соответственно на каждом из участков должны работать скрипты, и они будут выполнять все действия в функции update, что для нас есть очень ресурсоемко. В некоторых локациях этих частей воды было не много и оптимизация была не нужна, а вот в некоторых количество воды переваливало за дюжину. Было принято решение использовать принцип «скроллинга по локации». Будет вычисляться только тот участок воды , в котором находится игрок, а все остальные будут выключены, но только на уровне скриптов.

У каждого участка воды было 2 тригера, входной на активацию воды , и выходной – на выключение функционала, то же самое касается и включение и выключения эффектов и буйков которые плавают на воде.

Этот принцип позволяет повысить фпс до 80-100 кадров в секунду, что делает игру очень даже играбельной.

Возврат к списку статей

ПОДПИШИТЕСЬ НА ОБНОВЛЕНИЯ

Осмысленное изучение обучающих материалов позволит профессионально повысить квалификацию. Подпишитесь на бесплатные советы и статьи по ключевым этапам разработки.

Ваше имя: * E-mail: * Ваш комментарий или вопрос: * - обязательные поля для заполнения ПОДПИСАТЬСЯ




Наши клиенты
Tele 2

Tele 2

Оператор сотовой связи

Первая транспортная компания

Первая транспортная компания

Транспортная компания

Утконос

Утконос

Интернет-гипермаркет

Кофе хауз

Кофе хауз

Крупная кофейная сеть

Донстрой

Донстрой

Строительная компания

Цирк чудес

Цирк чудес

Московский цирк

Правительство Москвы

Правительство Москвы

Орган власти

Роскосмос

Роскосмос

Российская космическая корпорация

Министерство здравоохранения

Министерство здравоохранения

Орган власти

Foodband

Foodband

Служба доставки еды

Сбербанк

Сбербанк

Крупный Российский банк

Шоколадница

Шоколадница

Крупнейшая кофейная сеть

Взнания

Взнания

Образовательная платформа

Уральские пельмени

Уральские пельмени

Фабрика пельменей

photo of
Appfox
улица Профсоюзная, дом 27, корпус 1
Москва , Москва , 117418 Россия
8 (800) 551-30-75

This hCard created with the hCard creator.

Онлайн заявка
Оставьте ваши контактные данные и наш консультант свяжется с вами
Ценовой диапазон
5 000 р
5 000 000 р
Нажимая на кнопку «Отправить», Вы даете согласие на обработку своих персональных данных