Название: Проекция времени Отправлено: Igors от Май 04, 2015, 15:51 Добрый день
Что-то в последнее время ни одной порядочной темы - все такая мелочевка :'( Ладно, попробуем о чем-то более интересном, хотя и мало шансов. Базовые понятия/термины. Есть "сцена" состоящая из полигонных 3D объектов. Каждый "объект" кроме геометрии имеет порядка 200 стандартных параметров (опций) + может иметь и кастомные. Сцена существует во времени которое разбито на кадры. Каждый из параметров объекта может меняться во времени. Ну напр "объект 1" на кадре 1 большой и синий, а на кадре 10 уже маленький и красный. Объекты могут менять геометрию во времени, т.е. иметь разное число полигонов во времени. В окнах отображается текущий кадр. И вот потребовался объект нового типа - эмиттер. Пример: на кадре 1 эмиттер создал 5 сфер которые будут куда-то двигаться до кадра 7, потом исчезнут. На кадре 2 эмиттер создал еще сколько-то сфер (в зависимости от установок) и.т.д. Если эмиттер создает какую-то мелочь (напр точки) то число копий может быть огромно. Результаты эмиссии (сферы в примере) не представляются отдельными объектами, просто эмиттер на каждом кадре имеет различную геометрию. Требуется разработать удобный механизм для управления созданными копиями (можно сказать и инстансами или партиклами) во времени. Продолжая пример с 5 сферами: каждая должна появляться напр большой и синей и исчезать напр маленькой и красной. Т.е. все что юзер может делать с объектом нужно уметь делать для каждой инстансы в ее "локальном" времени. Спасибо Название: Re: Проекция времени Отправлено: Fregloin от Май 05, 2015, 09:51 попахивает написанием своего движка.. нечто подобное видел в юнити при работе с шейдерами, как раз там эмитились частицы которые во времени меняли свои цвета и размеры, потом исчезали
Название: Re: Проекция времени Отправлено: Igors от Май 10, 2015, 14:42 Не очень активное обсуждение :), ну на другое трудно рассчитывать, вряд ли кто-то будет давать рекомендации впервые услышав о немалой задаче, это нормально. Однако подобная ситуация возникает не первый раз.
Есть некая "сущность" (в данном случае 3D объект). Для нее разрабатывается очень много чего, опираясь на ряд предположений. Напр полагается что объект существует всегда, что у него есть (обильное) UI и.т.д. И вот выясняется что наработанное совсем неплохо, НО его надо применить и для др "сущности" (в данном случае для части объекта) которая имеет ограниченное время жизни, соответственно и UI для нее лишено смысла. Др словами потребовалась "общность" о которой не предполагали. Первая реакция стандартная: "не заморачиваться" (ну или "не париться"). Летающие частицы имеют немного параметров меняющихся во времени, напишем для них все нужное в UI эмиттера по-новой (образец есть) - и все дела. Это было испробовано не один раз, в результате UI эмиттера раздувается безумно, но остается малоэффективным. Сознание того что пишется худшая копия того что уже есть подавляет. Но придумать что-то поумнее пока не удалось :) Название: Re: Проекция времени Отправлено: Fregloin от Май 12, 2015, 10:59 может есть смысл пересмотреть иерархию классов ваших объектов?
Название: Re: Проекция времени Отправлено: Racheengel от Май 12, 2015, 18:16 Так, насколько я понимаю, у эмиттера есть настройки эмиссии, он создает объекты, а дальше они живут по своим законам. Т.е. надо конфигурить только эмиттер...
|