Pinning Physicalized Character
In this tutorial we are going to some people jumping from a rooftop to hang to an helicopter, thrilling!
CREATING A TERRAIN
1. Create a pPlane for the ground and a Cube for your building. select the two objects and click the Terrain icon to create a Terrain Locator.
The two objects are mapped as a terrain.
2. Create your Entitytype and browse to find the Character File (.gcha) in the /crowd/characters directory of the Samples Pack, don't forget to set its rendering type.
3. Now place your entities by creating a Population Tool at the top of your building. give your entities the correct Orientation, set the entityType attributes and click create.
CREATING A POLYZONE
4. Create a pPlane on your rooftop to be used it as a polyzone for the stop triggers.
MAKE THEM MOVE
5. Go inside your Behavior Editor and drag and drop a Motion Behavior, load your run motion clip (CMAN_RunNormal_Leftfoot.gmo for example) set its stop triggers to OR and link two Polyzone Triggers. Inside the first Polyzone Triggers map the pPlane we've just created. In the second Plyzone trigger map the building cube as polyzones 2d, to invert the result of this Polyzone trigger drag and drop a NOT operator between the trigger and the OR.
6. Right behind the Motion Behavior drag and drop a Physicalize Behavior and set its mode to Kinematic, set both its Start and Stop Triggers to true/true. It will ensure that our characters are taken into account into the physics world from the start of the simulation .
7. Now behind this two behaviors drag and drop an If and connect it to two Parallel Operators, the first one will make your entities jump into the void, the second one will Attach them to the helicopter.
8. In the first one drag and drop a Motion Behavior and a Jump motion clip you've previously created (you may download a jump motion from mixamo's website and convert it as a gmo) in its attributes uncheck the loop box to play it only once. Edit its stop trigger by setting the False trigger to TRUE so it doesn't stop.
In parallel to this motion Behavior drag and drop a Physicalise Behavior and set it to Local Servo Rigid Body. Set its stop trigger to Behavior Time and give some frames to stop (30 for example).
9. On your helicopter's geometry create a curve on which we will attach our characters.
10. Now into the other Parallel Operator to set to Attach your entities to the helicopter drag and drop a SynchMotion Behavior and load a motion clip Jump to Hang in it (again you may find this kind of motions in Mixamo's website or create it by yourself). Map the previously created curve as the sync object, your characters will stick to it. Edit the stop trigger of this SyncMotion behavior by unchecking the False trigger, this way it will play endlessly.
11. In parallel to the syncMotion Behavior create a group in which we will control the way the attached characters will be physicalised.
12. Inside this group in the Behavior flow drag and drop three Physicalise Behaviors.
13. Set the first one in Local Servo Rigid Body and edit its stop trigger by setting it to Behavior Time 55 frames for example (don't forget to set the false trigger to TRUE!)
14. Set the second one to Local Servo Rigid Body two but in the Body mask attributes deactivate the Pelvis and spine and map the legs as Limb channels and Effector channels to physicalise only those two limbs. Set its stop trigger to true.
15. Set the third Physicalise Behavior as a World Servo Rigid Body in the Body mask attributes deactivate the Pelvis and spine and map the Arms as Limb channels.
Final Behavior Graph setup
16. Play your simulation.