@@ -19,6 +19,7 @@ def __init__(self, scene: "Scene", sim: "Simulator", options):
1919 self ._scene = scene
2020 self ._dt : float = options .dt
2121 self ._substep_dt : float = options .dt / sim .substeps
22+ self ._init_gravity = getattr (options , "gravity" , None )
2223 self ._gravity = None
2324 self ._entities : list [Entity ] = gs .List ()
2425
@@ -28,11 +29,15 @@ def __init__(self, scene: "Scene", sim: "Simulator", options):
2829 def _add_force_field (self , force_field ):
2930 self ._ffs .append (force_field )
3031
31- def build (self , B : int ):
32- self ._B = B
33- g_np = np .asarray (self ._sim ._gravity )
34- g_np = np .repeat (g_np [None ], B , axis = 0 )
35- self ._gravity = ti .Vector .field (3 , dtype = gs .ti_float , shape = B )
32+ def build (self ):
33+ self ._B = self ._sim ._B
34+ if self ._init_gravity is not None :
35+ g_np = np .asarray (self ._init_gravity , dtype = gs .np_float )
36+ else :
37+ g_np = np .asarray (self ._sim ._gravity , dtype = gs .np_float )
38+ g_np = np .repeat (g_np [None ], self ._B , axis = 0 )
39+
40+ self ._gravity = ti .Vector .field (3 , dtype = gs .ti_float , shape = self ._B )
3641 self ._gravity .from_numpy (g_np )
3742
3843 def set_gravity (self , gravity , envs_idx = None ):
0 commit comments