Animal Controller

This page covers the integration of Animal Controller from Malbers

What is Animal Controller?

Animal Controller(AC) is an animation framework controller, root-motion or In Place, for any creature or HUMANOID character.

AC is the base controller for all my Assets, but you can use it on any other asset in the Store.

It was built from the ground up with over 3 years of experience to make all my assets shine even more with a smooth and modular controller.

AC is based on States and Modes. States like Locomotion, Idle, Jump, Fall, Fly, Swim.. and Modes Like Main Attacks, Secondary Attacks, Hits, Actions, etc.

States are the Animations that contain certain Logic and they cannot overlap each other (Ex: You cannot swim and fly at the same time)

Modes are the Animations that be used while a state Animation is playing (Ex: Attack while flying or Running).

You can find more information about Animal Controller, and its documentation and also purchase it over on the Unity Asset Store.

Video Tutorial

Written Tutorial

Open the first demo scene (in this example it's Unka the Dragon) and drop the GKC Player in the scene along with the Rider System Object. You can drop this object inside the Malbers animal, and reset its transform value.

Modify Malbers Input

Next, we need to modify the Malbers Input component with some custom code.

Copy the code below to have a function that allows you to Pause/Resume the input of the Animal Controller.

if (inputPaused)
 {
 horizontal = 0;
 vertical = 0;
 upDown = 0;

 RawInputAxis = Vector3.zero;

 return;
}

This first part is pasted inside the SetInput function at the very top of the script, it starts at line 70.

The second code part, below, is pasted directly at the end of the SetInput function.

public bool inputPaused = true;

public void setInputPausedState(bool state)
{
 inputPaused = state;
}

Configure GKC Rider System

On the GKC rider system, configure the option to use events on start, calling to that function, so the input of the animal is paused from start.

Create an empty game object inside the CM Brain of the animal and name it Main Camera Position. Disable the Camera and Audio Listener components of that camera. In the Rider Seat System prefab, under the Move Camera to Devices component, drag and drop the Main Camera Position game object you created in the CM Brain to the Camera Position slot.

Configure Electron Device Component

On the Electronic Device component, we'll configure the Pause/Resume events for the animal. Scroll down to the section, Start/Stop Using Device Settings, and assign your Malbers animal and Look At as in the photo below. Setting setInputPausedState and LookAt in their respective states is needed.

On Event on Start Using Device () MalbersInput.setInputPausedState should be unchecked. That means the animal is not paused on Start. LookAt.enabled is checked as that lets the Animal Controller look at targets as usual.

In Use Event on Stop Using Device, the opposites are selected so that the Animal is Paused on stop and LookAt is disabled. Additionally assign the Animal twice, selected MalbersInput.enabled. Checking one, and unchecking the other.

After that you can customize the interaction panel text transform along the Ride positions and IK elements (check the tutorial for Edy's Vehicle System tutorial for more info) in the Rider Seat System prefab.

That's it! You're ready to ride!

Last updated