Proximity-based IK Interactions

Solution for triggering IK interactions automatically based on proximity, with automated head and eye gaze control

Fully automated IK interactions with no scene setup. Completely character-agnostic. Supports procedural level generation with medical-grade quality and accuracy using Interactor IK.
Below is a video demonstration of all three system working in tandem. The scene in the example is constructed from a JSON file containing data for the application. It pulls down an Addressable scene and all the assets it needs to build the app.
The character engages in 3 separate IK interactions, looks at the interaction he is engaged with, and triggers several animation events on other objects in the scene.

DISCLAIMER: This video demonstrates the ability to complete animation injection, automatic gaze control, and automatic IK interaction. The animations used are not final and do not represent the system's ability to create smooth and clean-looking character interactions

1. An animation is being triggered from a scriptable object, which also publishes an event queuing up the IK interaction for the green balloon device (BVM)
2. When the BVM is picked up, another scriptable object is passed to the carrier, which contains the sequence of animations they need to attach it to the patient's face
3. There are 2 more IK interactions attached to the joint hierarchy of the patient that the NPC needs, and those get queued up as well
4. The baby is subscribed to events on interactions on itself, so when the nurse touches the head, the baby injects its animator with a head turn animation. Because the IK interaction is a child of the head joint, the NPC's hand comes with it
6. When the BVM is placed on the patient's head, an event fires that begins the "bag mask ventilation" procedure, which includes a bunch of other stuff like sound, vitals monitors, and animations to begin
The event is published on the character, who has access to NpcEvents. The character only knows is that it hit something designated as an Interactor object. Everything else about the interaction is stored on the object itself.
The IK system subscribes to the event and checks if this character has the particular object that has been collided with in their queue. If they do, the IK interaction begins according to the settings on the object.
Custom debug log is editor only.

More like this

Back to Top