В моей игре QML у меня есть водное пространство с волнами над ним. Мне нужна идея, как оживить волны. Мне просто нужна простая анимация, когда волна идет вверх и вниз. Я пробовал анимировать SVG
как с Image
, так и с AnimatedImage
. Ничего не работает. GIF
выглядит не очень хорошо из-за ограничения цвета. Может быть, какой-то графический эффект или спрайты? Любая идея будет оценена!QML - Нужна идея, как оживить волны
2
A
ответ
4
Следующий код создает анимацию непрерывной волны для изображения, используя формулу sine wave.
Image {
id: sourceImg
anchors.fill: parent
source: "../images/src.png"
visible: false
}
ShaderEffect {
anchors.fill: parent
property variant source: sourceImg
property real frequency: 1
property real amplitude: 0.1
property real time: 0.0
NumberAnimation on time {
from: 0; to: Math.PI*2; duration: 10000; loops: Animation.Infinite
}
fragmentShader: "
varying highp vec2 qt_TexCoord0;
uniform sampler2D source;
uniform lowp float qt_Opacity;
uniform highp float frequency;
uniform highp float amplitude;
uniform highp float time;
void main() {
highp vec2 texCoord = qt_TexCoord0;
texCoord.y = amplitude * sin(time * frequency + texCoord.x * 6.283185) + texCoord.y;
gl_FragColor = texture2D(source, texCoord) * qt_Opacity;
}"
}
Смежные вопросы
- 1. QML: Как оживить целое число (не реально)
- 2. Нужна идея, как реализовать его
- 3. нужна идея отображения Hibernate ORM
- 4. круговой поток приложения - Нужна идея
- 5. Нужна логическая идея T-SQL
- 6. нужна идея для сообщения, показывающего
- 7. Нужна идея архитектуры для POS
- 8. Нужна помощь или идея для очистки папок
- 9. нужна идея получения пользовательского ввода (UI Design)
- 10. Нужна идея о лицензионном ключевом алгоритме
- 11. Переходы между несколькими изображениями - нужна идея
- 12. IPhone нужна идея дизайна для Tableview
- 13. Нужна идея для прокрутки и бокового меню?
- 14. Нужна идея написать РазВЕРТЫВаНИя Баша сценария обновления
- 15. Мне нужна идея для программы с потоками
- 16. Нужна идея для дифференциации режима общего вида
- 17. Imagemagick переходы между несколькими изображениями - нужна идея
- 18. Нужна идея для решения этого алгоритма головоломки
- 19. игра C++ rogue, создающая карту, нужна идея
- 20. нужна идея для приложения в WPF
- 21. Как оживить часть изображений?
- 22. php. Нужна идея, как различные категории/подкатегории/продукта/страница =
- 23. Android ~ как построить найти мой телефон ~ нужна помощь ~ идея ~
- 24. Как подсчитать уникальные элементы массива? Нужна только идея
- 25. Как оживить внутри UIView?
- 26. Как рисовать звуковые волны?
- 27. Как нарисовать форму волны?
- 28. Построение обратной волны синусоидальной волны в MatLab
- 29. Как оживить itemSize от UICollectionViewFlowLayout?
- 30. объяснение волны
благодарит @Blastings, что близко к моей цели. Мне просто нужно перенести его на черепичный образ, он по-прежнему не работает для меня. Не кажется ли вам, что шейдер вызовет перегрузку процессора? – folibis
Итак, у вас есть несколько изображений, расположенных в сетке из плитки? Насколько я знаю, шейдерный код QML должен работать на графическом процессоре, а не на процессоре. – Blastings