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

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

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

Сообщений: 11445


Просмотр профиля
« : Август 10, 2015, 14:12 »

Добрый день

Аттач. Обыкновенный (или банальный) салют/фейерверк анимированный во времени. Конечно известно как движутся "снаряды" и в какой момент они взрываются в воздухе. Но как нарисовать эти "хвосты"?

Спасибо
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Август 10, 2015, 14:28 »

Да, и кстати, вопрос совсем не замыкается на OpenGL. Можно (и нужно) ширше смотреть на вещи, напр так

- есть файл в котором записана траектория движения объекта кадр за кадром, на каждом кадре известны позиция объекта, его линейная и угловая скорости и, конечно, его геометрия (вертексы м фейсы). Разработать систему позволяющую пользователю создавать интересные  и разнообразные "хвосты" (trails) движущихся объектов

Есть желающие поработать?  Улыбающийся
Записан
Hrundel
Гость
« Ответ #2 : Август 10, 2015, 20:51 »

Игорь, у тебя есть Combstion? У них в проге эта тема очень хорошо реализована. Если поковыряться - наверняка она тебе что-то подскажет.
(А вермени к сожалению нет, чтобы заняться)
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Август 11, 2015, 06:43 »

Игорь, у тебя есть Combstion? У них в проге эта тема очень хорошо реализована. Если поковыряться - наверняка она тебе что-то подскажет.
Наверное combustion - но это слишком общий термин, киньте ссылку на софт. Спасибо
Записан
Hrundel
Гость
« Ответ #4 : Август 12, 2015, 19:22 »

Здесь лежит для форточек. Для мака здесь.
Записан
dmsovetov
Гость
« Ответ #5 : Декабрь 10, 2015, 14:24 »

Обычно, такое реализуется системой частиц (particle system по-буржуйски).
Вот тут можно глянуть на готовое решение
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Декабрь 11, 2015, 09:19 »

Обычно, такое реализуется системой частиц (particle system по-буржуйски).
Вот тут можно глянуть на готовое решение
Интересная цацка, спасибо за наводку. А есть ли др подходы, кроме создания тучи квадратиков с текстурами? Не то чтобы это "плохо", но имеет свои минусы
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #7 : Декабрь 11, 2015, 10:58 »

В QtQuick есть могучая система частиц и куча примеров.

http://doc.qt.io/qt-5/qtquick-particles-qmlmodule.html

Если вам не нравится идея рисовать частицы геометрией, то можно их сделать и на шейдерах. Только будет ли это быстрее работать? https://www.shadertoy.com/results?query=particles
Записан

Гугль в помощь
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Декабрь 11, 2015, 13:02 »

В QtQuick есть могучая система частиц и куча примеров.

http://doc.qt.io/qt-5/qtquick-particles-qmlmodule.html

Если вам не нравится идея рисовать частицы геометрией, то можно их сделать и на шейдерах. Только будет ли это быстрее работать? https://www.shadertoy.com/results?query=particles
Ах как сразу крепчает голос когда (оказывается) есть готовые классы  Улыбающийся

Спрайты (по-простому говоря) - дело хорошее, но есть сомнения. См исходную картинку - длинные тонкие хвосты. Как их рисовать спрайтами, т.е. что должно быть 1 спрайтом (картинкой)? Какой-то маленький кружочек с альфой? И таких "много", их позицию надо анимировать чтобы хвосты расширялись и тухли. Текстуру и размер тоже вероятно надо анимировать. Возни немало, а вот "общности" особой не видно. И картинки надо еще иметь/готовить. Да, так часто делают, но следовать этому необязательно, тем более real-time у меня задача не стоит.

Вот думал может так - создавать хвост как модель (что-то вроде изогнутого цилиндра). Это вполне реально. Да, но как потом его шейдить?
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #9 : Декабрь 14, 2015, 14:05 »

В общем-то проблемы со спрайтами нет, оно все очень шустро работает даже на мобилках. Не совсем понял, зачем текстуру анимировать, достаточно размера и прозрачности.

Цитировать
Вот думал может так - создавать хвост как модель (что-то вроде изогнутого цилиндра). Это вполне реально. Да, но как потом его шейдить?

Реально конечно, но сложнее в реализации будет. Шейдить то тоже можно, но я пока с трудом себе это представляю. Проще натянуть текстурку следа. Во многих играх, где махают мечом, след от меча сделан именно так.
Записан

Гугль в помощь
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Декабрь 14, 2015, 15:39 »

Проще натянуть текстурку следа.
Так я этого и хочу - но не вижу каким образом. Вот как пресловутыми частицами/партиклами сделать узкий тонкий след, кривую расширяющуюся снизу? Ведь чтобы обеспечить "узость" - нужно брать (испускать) маленькие партиклы. Которые должны в дальнейшем рассеиваться и затухать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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