XPandora / PhysGaussian

[CVPR 2024 Highlight] PhysGaussian: Physics-Integrated 3D Gaussians for Generative Dynamics
1.07k stars 44 forks source link

particle_impulse in config.json #42

Open Nielsencu opened 4 days ago

Nielsencu commented 4 days ago

Thank you so much for open-sourcing the code!

I'm trying to simulate applying a poking force to my object that is represented as the trained splats. I ran it through the gs_simulaltion.py and used the exact same ficus_config.json but only tweaked the boundary_conditions part, removing the cuboid bounding box and modifying the particle impulse part.

Here's the json file:

{ "opacity_threshold": 0.02, "rotation_degree": [0.0], "rotation_axis": [0], "substep_dt": 1e-4, "frame_dt": 4e-2, "frame_num": 125, "nu": 0.4, "E": 2e6, "material": "jelly", "density": 200, "g": [0,0,0], "grid_v_damping_scale": 0.9999, "rpic_damping": 0.0, "boundary_conditions": [ { "type": "particle_impulse", "point": [ 1.01396, 0.973994, 1.11081 ], "force": [ -1.8e-1, 0.0, 0.0 ], "size":[ 1.0, 1.0, 1.0 ], "num_dt": 5, "start_time": 0 } ], "mpm_space_vertical_upward_axis": [0,0,1], "mpm_space_viewpoint_center": [0.95,1.07,1], "default_camera_index": -1, "show_hint": false, "init_azimuthm": -36.7, "init_elevation": 8.96, "init_radius": 4.11, "move_camera": true, "delta_a": 0.4, "delta_e": 0.0, "delta_r": 0.0 }

Note that in the particle impulse, the point it is applied is changed to one of the gaussian's 3D mean position retrieved from the output ply file (inspected through Meshlab, coordinate system difference?). This is to ensure that the force is not applied to thin air. I also experimented with changing the force magnitude, to 1.0, and also putting it in either x,y, or z axis. But still the object seems to be static. I'm not sure if changing the size parameter would yield any difference. Please let me know what could be causing the issue!