Russian Qt Forum
Ноябрь 22, 2024, 13:42
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
OpenGL
>
Пошлый эффект
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Пошлый эффект (Прочитано 9577 раз)
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Пошлый эффект
«
:
Август 10, 2015, 14:12 »
Добрый день
Аттач. Обыкновенный (или банальный) салют/фейерверк анимированный во времени. Конечно известно как движутся "снаряды" и в какой момент они взрываются в воздухе. Но как нарисовать эти "хвосты"?
Спасибо
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Пошлый эффект
«
Ответ #1 :
Август 10, 2015, 14:28 »
Да, и кстати, вопрос совсем не замыкается на OpenGL. Можно (и нужно) ширше смотреть на вещи, напр так
- есть файл в котором записана траектория движения объекта кадр за кадром, на каждом кадре известны позиция объекта, его линейная и угловая скорости и, конечно, его геометрия (вертексы м фейсы). Разработать систему позволяющую пользователю создавать интересные и разнообразные "хвосты" (trails) движущихся объектов
Есть желающие поработать?
Записан
Hrundel
Гость
Re: Пошлый эффект
«
Ответ #2 :
Август 10, 2015, 20:51 »
Игорь, у тебя есть Combstion? У них в проге эта тема очень хорошо реализована. Если поковыряться - наверняка она тебе что-то подскажет.
(А вермени к сожалению нет, чтобы заняться)
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Пошлый эффект
«
Ответ #3 :
Август 11, 2015, 06:43 »
Цитата: Hrundel от Август 10, 2015, 20:51
Игорь, у тебя есть Combstion? У них в проге эта тема очень хорошо реализована. Если поковыряться - наверняка она тебе что-то подскажет.
Наверное combustion - но это слишком общий термин, киньте ссылку на софт. Спасибо
Записан
Hrundel
Гость
Re: Пошлый эффект
«
Ответ #4 :
Август 12, 2015, 19:22 »
Здесь
лежит для форточек. Для мака
здесь
.
Записан
dmsovetov
Гость
Re: Пошлый эффект
«
Ответ #5 :
Декабрь 10, 2015, 14:24 »
Обычно, такое реализуется системой частиц (particle system по-буржуйски).
Вот тут
можно глянуть на готовое решение
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Пошлый эффект
«
Ответ #6 :
Декабрь 11, 2015, 09:19 »
Цитата: dmsovetov от Декабрь 10, 2015, 14:24
Обычно, такое реализуется системой частиц (particle system по-буржуйски).
Вот тут
можно глянуть на готовое решение
Интересная цацка, спасибо за наводку. А есть ли др подходы, кроме создания тучи квадратиков с текстурами? Не то чтобы это "плохо", но имеет свои минусы
Записан
navrocky
Гипер активный житель
Offline
Сообщений: 817
Погроммист
Re: Пошлый эффект
«
Ответ #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
Сообщений: 11445
Re: Пошлый эффект
«
Ответ #8 :
Декабрь 11, 2015, 13:02 »
Цитата: navrocky от Декабрь 11, 2015, 10:58
В QtQuick есть могучая система частиц и куча примеров.
http://doc.qt.io/qt-5/qtquick-particles-qmlmodule.html
Если вам не нравится идея рисовать частицы геометрией, то можно их сделать и на шейдерах. Только будет ли это быстрее работать?
https://www.shadertoy.com/results?query=particles
Ах как сразу крепчает голос когда (оказывается) есть готовые классы
Спрайты (по-простому говоря) - дело хорошее, но есть сомнения. См исходную картинку - длинные тонкие хвосты. Как их рисовать спрайтами, т.е. что должно быть 1 спрайтом (картинкой)? Какой-то маленький кружочек с альфой? И таких "много", их позицию надо анимировать чтобы хвосты расширялись и тухли. Текстуру и размер тоже вероятно надо анимировать. Возни немало, а вот "общности" особой не видно. И картинки надо еще иметь/готовить. Да, так часто делают, но следовать этому необязательно, тем более real-time у меня задача не стоит.
Вот думал может так - создавать хвост как модель (что-то вроде изогнутого цилиндра). Это вполне реально. Да, но как потом его шейдить?
Записан
navrocky
Гипер активный житель
Offline
Сообщений: 817
Погроммист
Re: Пошлый эффект
«
Ответ #9 :
Декабрь 14, 2015, 14:05 »
В общем-то проблемы со спрайтами нет, оно все очень шустро работает даже на мобилках. Не совсем понял, зачем текстуру анимировать, достаточно размера и прозрачности.
Цитировать
Вот думал может так - создавать хвост как модель (что-то вроде изогнутого цилиндра). Это вполне реально. Да, но как потом его шейдить?
Реально конечно, но сложнее в реализации будет. Шейдить то тоже можно, но я пока с трудом себе это представляю. Проще натянуть текстурку следа. Во многих играх, где махают мечом, след от меча сделан именно так.
Записан
Гугль в помощь
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Пошлый эффект
«
Ответ #10 :
Декабрь 14, 2015, 15:39 »
Цитата: navrocky от Декабрь 14, 2015, 14:05
Проще натянуть текстурку следа.
Так я этого и хочу - но не вижу каким образом. Вот как пресловутыми частицами/партиклами сделать узкий тонкий след, кривую расширяющуюся снизу? Ведь чтобы обеспечить "узость" - нужно брать (испускать) маленькие партиклы. Которые должны в дальнейшем рассеиваться и затухать.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...