Добрый день
Есть небольшой, но, на мой взгляд, интересный проект плагина. Конкретного заказчика нет, но было неоднократно замечено что не один и не два пользователя спрашивали такую вещь. На первый взгляд она кажется до смешного простой и 100 раз уже пройденной.
Нужно создавать спрайты в 3D для различных эффектов (ну что-то дымится, мигают звездочки и.т.п. - применений много). Насколько мне известно это делается весьма лихо во всех играх. Также нет проблем с инструментарием: плагин может создавать любые прямоугольники в 3D и разворачивать их мордочкой к камере (billboard). На прямоугольник может быть положена заданная пользователем текстура.
Например мы хотим сделать "дым". В принципе это очень просто: генерируем прямоугольники и анимируем их по определенному закону. Задаем "время жизни" (lifetime) для каждого. Плавно уменьшаем альфу во времени так чтобы когда lifetime подошло к концу прямоугольник был полностью не виден, а затем (на следующем кадре) просто не генерируем этот прямоугольник - вот собственно и все.
Ну так в чем же проблема? В постановке
Что должно "дымиться" и как - это легко начать но очень трудно закончить. В играх все хорошо - набор эффектов заранее определен, никакое UI не требуется. Но совсем другое дело когда мы хотим дать пользователю "конструктор" таких эффектов. Набор параметров разрастается катастрофически и мгновенно. Конечно такие продукты есть - и не один. Но редко кто из них имеет меньше 100 опций - и пользователь законно недоволен, мол, чтобы сделать простейшую вещь мне надо заряжать огромного монстра. Это правда, но частенько бывает что тот же самый пользователь приложил руку к творению монстра, весьма убедительно доказывая что "без этих опций ну никак нельзя!".
Еще раз заметим что конкретного заказчика/ТЗ нет - есть лишь реальный интерес который хочется "поймать". Также заметим что проблема UI - далеко не единственная в этой, казалось бы, "очень простой" задаче - но не все сразу. Задумка сделать "lite" вещь, пусть с ограниченной ф-циональностью, но легкую и удобную в освоении и пользовании.
Есть соображения, идеи, задумки - обсудим
Спасибо