In order to runtime synthesize natural looking grasps on objects during grasp interaction, VirtualGrasp requires a preprocessing step of these objects. Like game developers know the concepts of “light baking” or “texture baking” in order to preprocess expensive computations and have faster access during runtime, we call the preprocessing of the objects object baking. Since object baking is for the purpose of dynamically synthesizing grasps, object baking is often referred to as “grasp baking” or “baking grasps”, and the baking result is referred to as “grasp DB”.
To bake an object, we need to access the 3D mesh data of the object. So if the 3D mesh data of the object changed, a new object baking is needed. Table below lists when a new bake is needed:
When do we need new baking | Why? |
---|---|
Object mesh changed | Because mesh defines object shape. |
Object scale changed | Because grasp depends on the object size. |
Object pivot (origin) changed | Because the shape analysis result is stored in the object’s coordinate frame. |
See VG_BakingClient to learn how to bake the objects in your Unity project.