Тема: SteamCraft
Показать сообщение отдельно
Старый 23.01.2015, 12:56   #237
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: SteamCraft

Сидел тут, думал еще, какой формы должна быть "толкалка" для переворачивания обратно на ноги. Хотелось бы запилить ее в ближайшее время.

Есть вариант сделать толкалку, которая не зависит от одной конкретной стороны. Как в Робокрафте. То есть, это какая-то прибамбасина, которая всегда будет толкать машину вверх (при нажатии на F) и давать ей небольшую угловую скорость для переворачивания на ноги. Отстрелили ее - перевернуться уже не сможешь.

Есть второй вариант - сделать чуть хардкорнее. Толкалка будет работать только в одну сторону. То есть, к примеру, если толкалка стоит на левом боку, а вы упали на правый, то перевернуться вы уже не сможете. Если стоит на крыше и упали на крышу, то всё ок, перевернетесь обратно.

А есть и третий вариант - сделать возможность переворачивания по-умолчанию на клавишу F. Без каких-то спецблоков. Просто жмете F -> саркофаг пускает под большим давлением струю пара в сторону земли и вы, отталкиваясь, переворачиваетесь обратно.

Я бы хотел сделать либо первый, либо третий вариант. Они самые простые в плане кодинга и самые удобные для самих игроков. Особенно третий вариант. Вы как думаете, какой вариант лучше выбрать?

Внизу поста находятся пара набросков для второго варианта.

Провел небольшое исследование на тему "что быстрее - 5 дроуколов по одному мешу или 5 костей с 1 мешем". Сейчас одно только колесо дает 5 дроуколов. Если на него светит лампочка - то еще 5 дроуколов сверху. Достаточно затратно. Подумал, что, юзая один меш и 5 костей, будет работать быстрее.
Заспаунил перед камерой 1000 колес и начал в каждом кадре трясти все их детали.

Получил следующие результаты:
Если юзать отдельные GameObject'ы:
- 10 000 DrawCalls, 35 FPS, 28ms CPU, 12ms GPU.

Если юзать кости:
- 2 000 DrawCalls, около 22 FPS, 14ms CPU, 44ms GPU.

Ого, подумал я. Стало заметно хуже. Зашел в настройки и поставил галочку напротив GPU Skinning. Запустил еще раз...
- 2 000 DrawCalls, 70 FPS (!), 13ms CPU, 17ms GPU.

Подвожу итог: если игра ориентируется больше на старые компы, то лучше юзать много отдельных объектов, чем плодить кости в цельных мешах. Если же игра ориентируется на DirectX 11, то однозначно надо юзать кости и GPU Skinning. Прирост в производительности будет прям заметный, если множеству мелких деталей прикрутить по косточке.

Так как делаем игру для социалок, то, думаю, нам всё же больше подходит первый способ. С другой стороны, никто пока не жаловался на то, что у него пиксельных шейдеров 3.0 нет и вообще DirectX 11 не работает...


Вот такие пироги, в общем.

Сообщение от Igor Посмотреть сообщение
колесо было одно, но лучей выпускалось несколько в перпендикулярных направлениях? Например, не только вниз, а так же вперёд и назад, если в конструкции машины это предусмотрено.
Попробуем, увидим.
Миниатюры
Нажмите на изображение для увеличения
Название: pusher.jpg
Просмотров: 1043
Размер:	171.1 Кб
ID:	21424  
__________________
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо cahekp за это полезное сообщение:
Arton (23.01.2015), pax (23.01.2015), St_AnGer (23.01.2015)