Как сделать двумерные частицы жидкими?


45

Предположим, у вас есть хороший способ перемещения ваших 2D-частиц для имитации жидкости (например, воды). Любые идеи о том, как это сделать?

Это для 2D-игры, где перспектива со стороны, как это . Вода будет содержаться в коробках, которые можно разбить, чтобы позволить ей упасть и взаимодействовать с другими объектами. Самый простой способ, который приходит мне в голову - это использовать маленькое изображение для каждой частицы. Мне интересно услышать больше способов отрисовки воды.

Ответы:


28

Узнайте, как PixelJunk Shooter сделал это (включая симуляцию) в этой презентации (PDF) на GDC2010.


Образец изображения PixelJunk Shooter


1
Не знал PixelJunk ... действительно хороший пресс. Спасибо!
Люк

Ссылка на трейлер :)
David Гувейя


Что такое СПУ, ППУ, СПУРС?
Мартин Курто

@MartjinCourteaux: они являются частью сотового процессора PS3. Думайте о них как о графических шейдерах, хотя есть некоторые ключевые отличия.
Шон Миддледич

12

Ответ Джорджа Дакетта гораздо более прямой и действительно хорошо изложенный, если вам нужна полностью смоделированная вода в вашей игре. Для смоделированной физики мелкой воды с минимальной точностью (меньше реализма, более игриво) это изображение дало мне невероятный момент ясности:

http://www.patrickmatte.com/stuff/physicsLiquid/


Просто и приятно! На самом деле не думал использовать такой простой шаг постобработки ... просто интересно, справится ли такое устройство, как iPhone. Это кажется хорошей отправной точкой. Спасибо.
Люк

Я могу ручаться за этот подход. Я использовал его один раз в проекте, и он работал прекрасно. Добавьте скосный фильтр, и у вас также будет хороший мениск на ваших каплях.
scriptocalypse

Очень круто! Но я не уверен, насколько хорошо он будет приспосабливаться к персонажу, прогуливающемуся по нему. Это подтолкнет все сферы в одну сторону, не так ли?
Макс

6

Или, для быстрого и легкого подхода: используйте метаболлы !

3d метаболлы


5

Грант Кот разместил на Github часть своего кода для симуляции флюидов с реализациями на javascript (canvas) и C ++ с OpenFrameworks: https://github.com/kotsoft

У него есть несколько демонстраций на его аккаунте на YouTube: http://youtu.be/HqWheJSEiaw

Я понятия не имею, как это работает, но я знаю, что это работает быстро, и есть все виды вариаций, чтобы построить с ним. Хорошее ключевое слово для поиска может быть "многосеточные частицы".


Мне очень нравится, как Грант Кот имитирует жидкости! Даже если рендеринг минимален, по крайней мере, на апплете на этих веб-страницах. Это как много параметров для управления симуляцией. Стоит глубже взглянуть на это. Спасибо.
Луки
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.