Russian Qt Forum

Программирование => Общий => Тема начата: Igors от Ноябрь 04, 2011, 16:35



Название: Спрайты (постановка задачи)
Отправлено: Igors от Ноябрь 04, 2011, 16:35
Добрый день

Есть небольшой, но, на мой взгляд, интересный проект плагина. Конкретного заказчика нет, но было неоднократно замечено что не один и не два пользователя спрашивали такую вещь. На первый взгляд она кажется до смешного простой и 100 раз уже пройденной.

Нужно создавать спрайты в 3D для различных эффектов (ну что-то дымится, мигают звездочки и.т.п. - применений много). Насколько мне известно это делается весьма лихо во всех играх. Также нет проблем с инструментарием: плагин может создавать любые прямоугольники в 3D и разворачивать их мордочкой к камере (billboard). На прямоугольник может быть положена заданная пользователем текстура.

Например мы хотим сделать "дым". В принципе это очень просто: генерируем прямоугольники и анимируем их по определенному закону. Задаем "время жизни" (lifetime) для каждого. Плавно уменьшаем альфу во времени так чтобы когда lifetime подошло к концу прямоугольник был полностью не виден, а затем (на следующем кадре) просто не генерируем этот прямоугольник  - вот собственно и все.

Ну так в чем же проблема?  В постановке :) Что должно "дымиться" и как - это легко начать но очень трудно закончить. В играх все хорошо - набор эффектов заранее определен, никакое UI не требуется. Но совсем другое дело когда мы хотим дать пользователю "конструктор" таких эффектов. Набор параметров разрастается катастрофически и мгновенно. Конечно такие продукты есть - и не один. Но редко кто из них имеет меньше  100 опций  - и пользователь законно недоволен, мол, чтобы сделать простейшую вещь мне надо заряжать огромного монстра. Это правда, но частенько бывает что тот же самый пользователь приложил руку к творению монстра, весьма убедительно доказывая что "без этих опций ну никак нельзя!".

Еще раз заметим что конкретного заказчика/ТЗ нет - есть лишь реальный интерес который хочется "поймать". Также заметим что проблема UI - далеко не единственная в этой, казалось бы, "очень простой" задаче - но не все сразу. Задумка сделать "lite" вещь, пусть с ограниченной ф-циональностью, но легкую и удобную в освоении и пользовании.   

Есть соображения, идеи, задумки - обсудим

Спасибо


Название: Re: Спрайты (постановка задачи)
Отправлено: Oleg3003 от Ноябрь 21, 2012, 00:51
насшли ли какое-нибудь приемлемое решение проблемы!?


Название: Re: Спрайты (постановка задачи)
Отправлено: _OLEGator_ от Ноябрь 21, 2012, 10:34
Да вы , батенька, идеалист.
Я тоже считаю, что интерфейс с одной кнопкой - это совершенный интерфейс))


Название: Re: Спрайты (постановка задачи)
Отправлено: Igors от Ноябрь 21, 2012, 21:19
насшли ли какое-нибудь приемлемое решение проблемы!?
Та может и "насщли" :) А может и нет. Здесь интересны мысли разных людей по этому поводу - но с этим пока не густо. Вот выучить хелп - то да, а самому чего-то там "думать" - та ну его нафиг  :)