Как я делал свою первую игру

Это будет нетипичный лонг по созданию игры, я начну с самого начала. Первое что нужно знать, что я никогда не разрабатывал игры.

Как я делал свою первую игру
226226

Молодец! Тут главное начать и не лениться, познавать азы и дальше изучать более углублённо.

Я конечно хреновый программист и разработчик, но вставлю свои пять копеек насчёт лагов. Открывайте форточку, начинаю душнить. В такой игре должно быть порядка 500 фпс, по сути не должно быть никаких лагов. Помню когда начинал изучать юнити, первое чему научили: никогда не нужно считать физику в апдейте. Для этого есть FixedUpdate. И сама физика должна считаться в FixedUpdate, он для этого и существует. Иначе вся физика будет завязана на фпс. Фпс просел - всё в игре замедлилось, фпс вырос в два раза - всё в игре ускорилось в 2 раза. Считывай нажатия клавиш в Update, а физику считай в FixedUpdate. Если под лагами имеешь ввиду что изображение не плавное, то поставь во всех объектах с rigidbody, collision detection - continuous, interpolate - interpolate. Тогда всё должно стать более плавным.

Ну и первым делом изучи разницу апдейта и фикседапдейта. Вкратце так: апдейт выполняется максимальное количество раз, сколько сможет, столько и выполнится за секунду. Грубо говоря, это твой фпс. А фикседапдейт выполняется каждые 0.02 секунды фиксировано и независимо от фпс (в настройках юнити можно как увеличить, так и уменьшить это значение). При значении по умолчанию 0.02, фикседапдейт выполнится 50 раз за секунду. Тут можно много чего написать, но лучше тебе самому это всё почитать или послушать, так как я хреновый учитель, сам уже толком ничего не помню.

P.S. время 5 утра, я двое суток не спал, так что мог что-то напутать

18
Ответить

Считывай нажатия клавиш в Update, а физику считай в FixedUpdate.Да, я знаю.) Лаги были из-за vsync.

Ответить