Анимация воды

Автор
Сообщение
На сайте c 01.04.2019
Сообщений: 28
г. Санкт-Петербург
Всем привет! Столкнулся с задачей. Мне необходимо наполнить бокал водой, и потом поднять его вверх с ранее наполненной жидкостью. Анимацию воды через fluid simulation я сделал, но теперь при анимации бокала с водой вверх, жидкость исчезает. Подскажите, что я мог упустить.
На сайте c 12.09.2021
Сообщений: 131

Не буду вдаваться в подробности что именно куда нажать т.к. флюиды в 3Д Максе попробовал в 2018.3 когда они только появились, из интереса, более не касался, уже не помню что там к чему. Но общий принцип напишу, может натолкнёт на какую-то практически применимую мысль.

Симуляция закеширована? Если да, то это, скорее всего, кеш в мировом пространстве, а не локальном, и он будет оставаться на своём месте независимо от поведения остальных объектов, ведь бокал он использовал как коллайдер только в момент симуляции. Если кеш можно как-то припарентить (прилинковать) к бокалу, то хорошо. Если нет - то только симулить заново в анимированном бокале. В Максовский поинт кеш её не перевести т.к. у воды разная топология в каждом кадре.

UPD - есть же ещё алембик. По-идее, можно перевести симуляцию в алембик и припарентить к бокалу. В Гудини или Майе так можно сделать, может и в Максе можно?

А если речь не о кеше, а о том, что симуляция работает некорректно (вода проваливается сквозь бокал при его поднятии, то можно попробовать:

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

- увеличить сабстепы симуляции и поднять разрешение

- повысить вязкость воды

На сайте c 01.04.2019
Сообщений: 28
г. Санкт-Петербург
Цитата StarTraveler:

Не буду вдаваться в подробности что именно куда нажать т.к. флюиды в 3Д Максе попробовал в 2018.3 когда они только появились, из интереса, более не касался, уже не помню что там к чему. Но общий принцип напишу, может натолкнёт на какую-то практически применимую мысль.

Симуляция закеширована? Если да, то это, скорее всего, кеш в мировом пространстве, а не локальном, и он будет оставаться на своём месте независимо от поведения остальных объектов, ведь бокал он использовал как коллайдер только в момент симуляции. Если кеш можно как-то припарентить (прилинковать) к бокалу, то хорошо. Если нет - то только симулить заново в анимированном бокале. В Максовский поинт кеш её не перевести т.к. у воды разная топология в каждом кадре.

UPD - есть же ещё алембик. По-идее, можно перевести симуляцию в алембик и припарентить к бокалу. В Гудини или Майе так можно сделать, может и в Максе можно?

А если речь не о кеше, а о том, что симуляция работает некорректно (вода проваливается сквозь бокал при его поднятии, то можно попробовать:

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

- увеличить сабстепы симуляции и поднять разрешение

- повысить вязкость воды

Да, забыл указать, что работу произвожу в Blender. Да, спасибо за советы, чейчас проверю!

На сайте c 12.09.2021
Сообщений: 131

Ещё такой совет, общий для всех симуляций, а для жидкостных - особенно - упростите коллайдер. Если в качестве объекта коллизии был выбран бокал, с ножкой и, возможно, ещё чем-то, не участвующим в симуляции, то всё это желательно убрать. Коллайдер сделать предельно простой чашей с толстыми стенками, близкой по форме к (или повторяющей форму) чаше самого бокала. Коллайдер припарентить к бокалу если подразумевается анимация и симуляция в движении. Сам коллайдер, естественно, не рендерится.

Просто факт в том, что для коллизий при симуляции почти никогда не используется тот же объект, который будет рендериться, работать над коллайдером - почти всегда отдельный и очень важный процесс т.к. из-за косяков в коллайдере можно день за днём симулировать, пробуя всё и так и эдак крутить настройки, а получаться будет всё-равно плохо.

Читают эту тему: