test_save_scene
1 Basic Functions
Test the setup/save/load of scenes
2 Implementation Process
2.1 Initialize Environment
env = RFUniverseBaseEnv(assets=["Collider_Box", "Rigidbody_Sphere"])
2.2 Load Objects
box1 = env.InstanceObject(name="Collider_Box", attr_type=attr.ColliderAttr)
box1.SetTransform(position=[-0.5, 0.5, 0], scale=[0.1, 1, 1])
box2 = env.InstanceObject(name="Collider_Box", attr_type=attr.ColliderAttr)
box2.SetTransform(position=[0.5, 0.5, 0], scale=[0.1, 1, 1])
box3 = env.InstanceObject(name="Collider_Box", attr_type=attr.ColliderAttr)
box3.SetTransform(position=[0, 0.5, 0.5], scale=[1, 1, 0.1])
box4 = env.InstanceObject(name="Collider_Box", attr_type=attr.ColliderAttr)
box4.SetTransform(position=[0, 0.5, -0.5], scale=[1, 1, 0.1])
sphere = env.InstanceObject(name="Rigidbody_Sphere", attr_type=attr.RigidbodyAttr)
sphere.SetTransform(position=[0, 0.5, 0], scale=[0.5, 0.5, 0.5])
env.Pend()
InstanceObject
: Instantiate an object from assets, i.e., create an object in the virtual scene.SetTransform
: Set the position and orientation of the object.
2.3 Save Scene
env.SaveScene("test_scene.json")
env.ClearScene()
env.Pend()
SaveScene
: Save the scene as a json format file.
2.4 Load Scene
env.LoadSceneAsync("test_scene.json")
env.Pend()
env.close()
LoadSceneAsync
: Asynchronously load the scene.