Ootii's Motion Controller
Last updated
Last updated
1.- Download from the Integration Drive Folder the package HAP (4.0.5) Ootii Motion Controller (2.805)
2.- Install/Drop the unitypackage to your project.
You can test the Integrations Demo Scenes on the Integration Folder
Malbers Animations/Horse AnimSet Pro/Integrations/Ootii
To create a new integration from scratch you need to do following steps..
These steps are also included for the Sword and Shield the Archery pack.
1.- Open any Scene with a Character already Set with the Motion Controller. For this example let's do it with the scene: demo_Attributes
2.- Drag to the opened scene the Horse Realistic Prefab. Find it using the Search Bar on the Project window
3.- Select the Character with the Motion Controller Component:
4.- Select the Animator Controller on the Animator Component. On the Project window duplicate it using Ctrl+D, and replace the old animator with the new one.
5.- Add the MRider script to your Character controller.
6.- Click the Button Add Mounted Layer
This will add a new Layer and new Parameters to the Animator Controller
7.- If you are using a "Custom Input System" you'll need to connect MRider.MountAnimal() to your Mount Input, and MRider.DismountAnimal() to your Dismount Input. If you want to continue using my Malbers Input then use the Context Menu Create Mount Inputs.
This will create a MInput component with 3 Inputs for the Rider (Mount, Dismount and Call Mount); and connect the events of the inputs to the proper methods.
You can change the Type from Key to Input and add those Inputs to the Unity Input Manager.
8.- Create the Event Listener by using the Context menu "Create Event Listeners".
This will automatically add the MEvent Listener component with the Events needed for the Rider to communicate with external scripts in a non-dependant way.
9.- On Disable Components add the scripts that interfere with the logic while riding. (Usually is used for scripts that are not supposed to be active while the character is Riding. Like scripts that move and rotate the character, Ragdoll scripts, etc. Also are used to disable Inputs that are only supposed to be active when the character is not riding: Ex: a Crouch Input).
In Case of Otti's MC the Actor Controller is in charge of moving the character .. so we need to disable it
9.- Add the Mount UI prefab to any UI Canvas. Find it using the Search bar on the project window
The Mount UI notifies you when you can press the Mount and Dismount Inputs
10.- If you like you can also add to the UI canvas the Slider Stamina prefab and the Slider Health prefab to check the health and stamina of the horse.
11.- On the Actor Controller -> Collision group: Set the Animal as a collision Layer too.
The Link script is the bridge between the Rider Component and Ootii's MC. Allows the Rider to communicate with the core Character Controller components. Disable features via code while the character is riding the animals and enabling them back when the character is back on foot
12.- Add the Invector HAP Link script to the Character.
13.- Set on the Ootii Camera parameter: the current Camera Controller on the Scene
Please follow first the Quick Guide on how to Install the Mixamo Animations for the Sword @ Shield pack . Then come back here:)
In case of the Sword and Shield Pack.. on your character Controller change the Sword_01 for Sword_01_HAP
Select your Character
Go to the Basic Inventory Component and Select Items -> Sword and Find the Sword_01_HAP
This sword has already attached to it the MWeapon Component, which allows the Riding Combat System to recognize that it can use the sword while mounting.
1.- Add the Rider Combat Component
2.- Click Add Rider Combat Layers
This will add new Layers and new Parameters to the Animator Controller
3.- If you are using a Custom Input System you will need to connect:
bool RiderCombat.Aim()
to your Aim Input.
RiderCombat.MainAttack()
&& RiderCombat.MainAttackReleased()
to your MainAttack Input.
RiderCombat.SecondAttack()
&& RiderCombat.SecondAttackReleased()
to your SecondaryAttack Input.
If you want to continue using Malbers Input then use the Context Menu "Create Combat Inputs".
This automatically add to the MInput Script the Inputs needed for the Rider Combat and connect the inputs events to the proper methods.
You can change the Type from Key to Input and add those Inputs to the Unity Input Manager.
3.- Create the Combat Event Listeners by using the Context menu "Create Event Listeners".
This will automatically add the MEventListener component with the Events needed for the Rider Combat system to communicate/listen to external scripts in a non-dependant way.
4.- Disable Exit on Dismount. (This Option makes the rider to store the weapons if he dismount the animal)
5.- On the Abilities group, add a new Ability and use Rider Melee Combat
This allows the Rider to use the melee Animations for the melee weapons while is riding
6.- For the controller with the Inventory… make sure you have activated Inventory and Already Instantiated on the Holder/Inv Section.
Now the Controller should be able to use melee weapons while riding the horse. 😁
(...)
1.- Go to the Integration folder and download the Camera Controller UnityPackage..
2.- Import it to your project
This prefab has all the necessary Camera States in order to work with HAP, but you can add your own if needed
3.- Drag the Prefab the Camera controller prefab to your scene and remove the Old Camera Rig
4.- Replace on the Link Script the camera rig with the Camera Controller Rig
And that should be it. :)