| Scene | Render | Files |
|---|---|---|
| 2016 Pouring Faucet (Water) |
![]() |
Full (164MB) |
| Glass Pour (Water) |
![]() |
Full (75.4MB) |
| Paddle Splash (Water) |
![]() |
Full (63.3MB) |
| Blue LEGO Drop (Rigid Bodies) |
![]() |
Full (148MB) |
| Spolling Bowl (Rigid Bodies) |
![]() |
Full (135MB) |
| Cup Phone (Speaker) |
![]() |
Full (0.72MB) |
| Talk Fan (Speaker) |
![]() |
Full (1.91MB) |
| Trumpet (Speaker) |
![]() |
Full (0.87MB) |
| Candy Shake (Point Force) |
![]() |
Full (2.71MB) |
| Candy Fill'er Up (Point Force) |
![]() |
Full (15.1MB) |
trackedBubInfo.txt
stores the bubble tracking information for the simulation. For each bubble, the format is:
Bub <global, unique bubble ID> <radius>
Start: <event type> <start time> <(optional) parent bubble ID(s)>
<time> <frequency (Hz)> <x> <y> <z> <(optional) pressure>
.
.
End: <event type> <end time> <optional child bubble IDs>
The start and end event types can be:
N: new (entrain); start-only
M: merge; the bubble IDs that this bubble merges to/from are listed.
S: split; the bubble IDs that this bubble splits to/from are listed.
C: collapse; end-only
meshes/*.obj contain water surface meshes at 10ms intervals.
displace.txt contains rigid-body transformations for each object. Each line is given by:
<time> <translation x> <translation y> <translation z> <quaternion w> <quaternion x> <quaternion y> <quaternion z>
For the following, all files must have the same prefix (e.g., "bowl" or "lego"): <prefix>.tet contains the tetrahedral mesh used for modal analysis, in binary file format. Here, i_ denotes 32-bit signed integer and d_ denotes 64-bit float.
i_empty
i_num_vertices # N+1 total
d_v0_x d_v0_y d_v0_z
d_v1_x d_v1_y d_v1_z
...
d_vN_x d_vN_y d_vN_z
i_num_tetrahedrons # M+1 total
i_t0_i0 i_t0_i1 i_t0_i2 i_t0_i3
i_t1_i0 i_t1_i1 i_t1_i2 i_t1_i3
...
i_tM_i0 i_tM_i1 i_tM_i2 i_tM_i3
<prefix>.tet.obj contains the corresponding surface triangle mesh.<prefix>.geo.txt contains the mapping between the vertex indices of the volumetric .tet mesh and vertex indices of the surface .obj mesh.
i_map_size
i_tet_vert_index i_surf_vert_index d_vert_normal_x d_vert_normal_y d_vert_normal_z d_vert_area
i_tet_vert_index i_surf_vert_index d_vert_normal_x d_vert_normal_y d_vert_normal_z d_vert_area
...
<prefix>.modes contains vibrational modes computed for the tetrahedral mesh, in bindary file format. This file describes the modal frequencies (angular frequency squared) and the modal matrix U.
i_num_dofs # N+1
i_num_modes # M+1
d_omega_squared_0 d_omega_squared_1 ... d_omega_squared_M
d_u_0 d_u_1 ... d_u_N
<prefix>.impulses.txt contains impulses produced by our rigid-body solver.
<time< <object_id> <vertex_id> <relative_speed> <impulse x> <impulse y> <impulse z> <S/T> <C/P>
# C = constraint impulse, P = pair impulse. S/T denotes whether the object is the first (S) or second (T) object in the contact pair.
*_anim.txt contains rigid-body transformations for each object. Each line is given by:
<time> <translation x> <translation y> <translation z> <quaternion w> <quaternion x> <quaternion y> <quaternion z>
*.wav contains the input audio used to drive the speaker surface.
*ptsrcData.txt contains all the acceleration noise impulses for the simulation:
<time> <impulse magnitude> <contact timescale> <velocity change x> <velocity change y> <velocity change z> <impulse location x> <impulse location y> <impulse location z> <rigid body ID (not used)>
For the Candy Filler'Up example, betas/*.txt contains the "auxiliary" beta-field. Each file contains the cell-centered beta-field for a single frame (at 60 FPS):
<beta> <cell center x> <cell center y> <cell center z>
...