1
\$\begingroup\$

I'm working on a realistic VR bartending game for Quest, and I need some help with making bottles pour liquid into cups. I'm aiming for a system where:

When a bottle is tilted, liquid pours out visibly.

The liquid fills the cup gradually based on how much is poured.

Some liquids (like soda) should add a bit of fizz or bubbles when poured.

I'm using Unity, and I want this to feel natural in VR – like the player can control the pour angle and see the cup fill up in real time. I'm not sure how to approach the pouring effect, the filling logic, or the fizz effect.

Any tips, tutorials, assets, or examples would be super appreciated. Thanks in advance!

\$\endgroup\$
2
  • 2
    \$\begingroup\$ I think you might get better answers if you break this into steps, and ask about one at a time. For instance, "how do I determine a pour rate from bottle angle / fullness / shape / velocity?" then "how do I create a fluid stream from a bottle?" then "how do I make a fluid stream interact with a cup / other objects?" "how do I animate a cup filling?" "how do I add foam/froth/splashes to pouring liquid?" etc. Each one is a meaty topic, so it would be hard to cover them all in one answer, and that can lead folks to click away to something they can answer more quickly. \$\endgroup\$ Commented May 27 at 19:50
  • 1
    \$\begingroup\$ The search term you are looking for is "fluid simulation" \$\endgroup\$ Commented May 28 at 6:58

1 Answer 1

0
\$\begingroup\$

You can approach this without having to implement advanced fluid simulation!

You need a liquid shader and a shader to show pouring the liquid.

Here are some example videos:

Here is the liquid shader video (with fizz): https://youtu.be/a6z4bk3UX1U?si=tOjC92iXB_PpzIHF

Here is the liquid pouring shader video: https://youtube.com/shorts/WGiuiUzKgg8?si=hIy6a6JWYZ_zWHWX

This should give you a rough idea of how you can approach this and make your shader. Now you can get creative and make the game to show the "pouring" mesh when the bottle is tilted and hide if it's not. If it requires fizz enable it etc.

That's Up to you.

\$\endgroup\$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.