Я буду играть здесь адвоката дьявола и предположить, что вы действительно хотите смоделировать песок в своей игре, а не просто создать простой индикатор загрузки песочных часов (как люди говорили, что это пустая трата усилий).
ИтакЯ возвращаюсь к своему первоначальному комментарию.Какое разрешение вы ищете?
Скорее всего, вам не нужно имитировать каждую гранулу песка.Так что будьте проще и оставьте физику в стороне и просто смоделируйте эффект.
Например, на макушке головы вы можете использовать 3 простых правила: Гравитация: Если пиксельниже "песчаного пикселя" находится пустой сдвиг этого столбца вниз.
Cave In: Если между двумя столбцами "песчаных пикселей" есть пустое пространство, заполните его, если пространство под нимне пусто (т. е. не падает)
Pile Up: , если рядом с колонкой «пикселей песка» есть пустое пространство, разложите его, если пространство под ним не пустое.
Это лишь некоторые примеры правил, которые могут работать.Суть в том, чтобы поэкспериментировать, чтобы придумать симуляцию, которая даст желаемый эффект.Обычно это менее трудоемкий и интенсивный процессор, чем моделирование физики.