Записи Gener_Al
О вращении головой, памяти и кешировании.
Посмотрев ряд известных проектов на РПГ-мейкерах я не только лишний раз убедился в унылости текущего состояния своей разработки, но и обратил внимание на то, как важны и оживляют игру всякие дополнительные анимации персонажей (как минимум, главного героя). Конечно, в этой мысли нет ничего нового, но, как я вижу, ряд подобных анимаций можно легко сделать самому, даже если не умеешь рисовать. В частности, вращение головы. Когда персонаж говорит с кем-то, стоящим сбоку, он не поворачивается к собеседнику полностью, а только голову поворачивает. Хорошо выглядит и сделать легко – просто берем картинку анфас, отрезаем голову и ставим вариант головы в профиль (левый и правый).
И вот тут самое интересное. Как использовать данную анимацию? Понятно, что в нужный момент мы меняем графику для главного героя (кстати, лишний раз обращаю внимание на то, что подобный штуки лучше оформлять в виде общих событий и вызывать их, чтоб в случае изменения чего-то в повороте головы изменения вносить в одном месте, а не во всех диалогах). И тут есть некоторая проблема – в момент смены графики персонажа этот самый персонаж мигает. Причем на некоторых форумах народ сильно жалуется на это и описывает это чуть ли не как глюк мейкера MV. Это не так, MV – молодец, он все правильно делает. Решение данной «проблемы» очень простое – дополнительную графику персонажа следует кешировать. То есть загружать в оперативную память заранее, до того, как к ней обратятся. Для этого есть разные плагины – я лично использую TDDP_PreloadManager.js (но только ту его часть, что за кеширование отвечает). Без использования сторонних плагинов – можно эту графику назначить на карте, где она будет использоваться, в качестве графики какого-то невидимого-прозрачного ивента. Но кеширование – лучше =).
Подобная графика – хороший пример того, что НУЖНО кэшировать. Помните, кеширование ускоряет загрузку сцен в проектах и т.п., но кешировать нужно только то, что вы используете часто и то, что занимает немного памяти. Ибо нет ничего проще чем загадить гигабайт-другой оперативки.