Russian Qt Forum
Ноябрь 22, 2024, 22:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проекция времени  (Прочитано 3569 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Май 04, 2015, 15:51 »

Добрый день

Что-то в последнее время ни одной порядочной темы - все такая мелочевка Плачущий  Ладно, попробуем о чем-то более интересном, хотя и мало шансов.

Базовые понятия/термины. Есть "сцена" состоящая из полигонных 3D объектов. Каждый "объект" кроме геометрии имеет порядка 200 стандартных параметров (опций) + может иметь и кастомные. Сцена существует во времени которое разбито на кадры. Каждый из параметров объекта может меняться во времени. Ну напр "объект 1" на кадре 1 большой и синий,  а на кадре 10 уже маленький и красный. Объекты могут менять геометрию во времени, т.е. иметь разное число полигонов во времени. В окнах отображается текущий кадр.

И вот потребовался объект нового типа - эмиттер. Пример: на кадре 1 эмиттер создал 5 сфер которые будут куда-то двигаться до кадра 7, потом исчезнут. На кадре 2 эмиттер создал еще сколько-то сфер (в зависимости от установок) и.т.д.  Если эмиттер создает какую-то мелочь (напр точки) то число копий может быть огромно. Результаты эмиссии (сферы в примере) не представляются отдельными объектами, просто эмиттер на каждом кадре имеет различную геометрию.

Требуется разработать удобный механизм для управления созданными копиями (можно сказать и инстансами или партиклами) во времени. Продолжая пример с 5 сферами: каждая должна появляться напр большой и синей и исчезать напр маленькой и красной. Т.е. все что юзер может делать с объектом нужно уметь делать для каждой инстансы в ее "локальном" времени.

Спасибо
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Май 05, 2015, 09:51 »

попахивает написанием своего движка.. нечто подобное видел в юнити при работе с шейдерами, как раз там эмитились частицы которые во времени меняли свои цвета и размеры, потом исчезали
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Май 10, 2015, 14:42 »

Не очень активное обсуждение Улыбающийся, ну на другое трудно рассчитывать, вряд ли кто-то будет давать рекомендации впервые услышав о немалой задаче, это нормально. Однако подобная ситуация возникает не первый раз.

Есть некая "сущность" (в данном случае 3D объект). Для нее разрабатывается очень много чего, опираясь на ряд предположений. Напр полагается что объект существует всегда, что у него есть (обильное) UI и.т.д. И вот выясняется что наработанное совсем неплохо, НО его надо применить и для др "сущности" (в данном случае для части объекта) которая имеет ограниченное время жизни, соответственно и UI для нее лишено смысла. Др словами потребовалась "общность" о которой не предполагали.

Первая реакция стандартная: "не заморачиваться" (ну или "не париться"). Летающие частицы имеют немного параметров меняющихся во времени, напишем для них все нужное в UI эмиттера по-новой (образец есть) - и все дела. Это было испробовано не один раз, в результате UI эмиттера раздувается безумно, но остается малоэффективным. Сознание того что пишется худшая копия того что уже есть подавляет. Но придумать что-то поумнее пока не удалось  Улыбающийся
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Май 12, 2015, 10:59 »

может есть смысл пересмотреть иерархию классов ваших объектов?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Май 12, 2015, 18:16 »

Так, насколько я понимаю, у эмиттера есть настройки эмиссии, он создает объекты, а дальше они живут по своим законам. Т.е. надо конфигурить только эмиттер...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.084 секунд. Запросов: 23.