Very often when importing 3D parts from external sources like CAD systems the 3D data is not structured in a kinematic manner.
The Game4Automation kinematic is based on the hierarchy of Gameobjects. This means, that the hierarchy defines also the kinematic chain.
For creating a kinematic chain there are multiple ways. You could restructure the Gameobject hierarchy manually in Game4Automation or the CAD system before exporting to Unity. But normally, it is better to leave the imported structure as it is. This facilitates the update workflow, if you reimport the 3D data again, in the case of design changes.
The Kinematic component is for restructuring the Kinematic chain and for repositioning objects without manually changing the imported 3D data (and without changing the structure of the data in the CAD system).
In this Youtube tutorial you can get an insight about defining Kinematics with Game4Automation:
The Kinematic component offers these 4 functions. All functions are started on simulation start:
Repositioning and aligning the origin to another Gameobject origin. This will also move the children of the Kinematic component.
Move the pivot center and keep the position of the child Gameobjects for defining a rotation point.
Integrate parts from a defined Group into this Kinematic component.
Define a Kinematic parent to move the Kinematic Gameobject and its children underneath another GameObject.
In large CAD designs you work very often with a lot of Kinematic Groups based on the function Integrate Group. Because usually the Gameobjects with the Kinematic script attached to it are empty you can enable Show Group Gizmo. This will highlight all the meshes which are part of the defined group like shown in this picture.
A part might be not placed on simulation start as it should. You can reposition any GameObject if you select this option. You need to assign another reference GameObject where this part will be placed to. The Pivot origins of the part will be aligned to the defined Gameobjects pivot. The operation will be performed uppon simulation start.
You can move the center of a part without moving the positions of the underlying parts itself. To do this you can define a vector (in millimeters) and a rotation (in the local coordinate system) where the center of the part should be moved to. The operation will be performed uppon simulation start.
You can integrate a group into this kinematic part. To do this you need to assign the Group script to any other GameObject and give the group a name. Integrate Group will move all parts with the defined group underneath this kinematic part on the simulation start.
This is the most important function. With this method you can define CAD design structure independent Kinematic groups in parallel to the imported CAD data. For the reuse of components you can assign in Group Name Prefix a part whose name is used as prefix of the group name. Please check for example the Demo model Assets/game4automation/Scenes/DemoGripping for an example how to use this function.
With New Kinematic Parent, you are moving this part underneath another part upon simulation start.