Configuration - Final IK Grounder
Setting up your Character and Environment for Final IK grounder
Environment
-
Create Layers: GrounderOnly and GrounderIgnore
-
Add GrounderIgnore layer to Ground Layers in NGCharacterControllerWrapper in your Top-level player object (e.g. hoodieguy_model)
-
Put all stepped-incline objects (stairs) on Grounder Only layer
-
Put put the smooth inclines that should actually drive non-jittery locomotion on Grounder Ignore layer
-
In Project Settings -> Physics, disable all physics collisions between other layers and Grounder Only:
Character
Important
This section is provided for general reference. If you're using our Motion-Matching Locomotion Controller, the config wizard will automatically configure The Biped IK and Grounder components for you. However, if you wish to perform this step manually, or if you don't any Threepeat assets and just want to set up grounder, here you go:
-
To the sub-object of your character that contains the Animator (and MxMAnimator, etc), Add FBBIK Component:
-
To that same object, add Grounder Full Body Biped component and set settings per the picture below:
-
Make sure All ground layers (except Grounder Ignore) are set in Solver -> Layers
-
Add the Left/Right Shoulders and Left/Right Hands to the Spine list (this causes the player to lean forward when running up inclines and stay more upright when descending inclines to add realism)
-
-
You're done!
Using any of the demo scenes that include Final IK
A version of the Core Demo with Final IK grounder integration is in the Demos directory. This may not work directly after import (due to required Layers not being set up in the project), to resolve this:
-
Create Layers: GrounderOnly and GrounderIgnore
-
Put all stepped-incline objects (stairs) on Grounder Only layer
-
Put put the smooth inclines that should actually drive non-jittery locomotion on Grounder Ignore layer
-
In Project Settings -> Physics, disable all physics collisions between other layers and Grounder Only:
-
Add GrounderIgnore layer to Ground Layers in NGCharacterControllerWrapper in your Top-level player object (e.g. hoodieguy_model)