Camera Systems — Test Level

I have been working on a dynamic 3rd person camera for a while now and I think it’s currently at a level where the other game developers can easily use it. I have tried to make the camera settings as user friendly as possible.

To start off — To use this camera controller, one must first add a ‘CharacterController’ script to the player. This can be the inbuilt unity script or any user script named ‘CharacterController’. The user script that I made included basic player movement which had a forward and rotate velocity and had an ‘Input delay’.

The next step is to set up a bunch of axis. This can be done be going into Edit -> Project Settings -> Input. There are three things that are required to be set-up:

  1. OrbitVertical - This makes the camera move up or down in accordance to the target.
  2. OrbitHorizontal — This makes the camera move left or right in accordance to the target.
  3. OrbitHorizontalSnap — This makes the camera snap back to the original settings of the camera.

The settings for this will vary depending on if the game requires a keyboard or a joystick.

Keyboard Settings
Joystick Settings

The next step is to drag the ‘CameraController’ script onto the Main Camera.

As you can see from the above image, all the settings of the camera can be edited from the inspector. The user needs to make sure that Collision Layer is set to Everything so that the collision between the walls work which in turn makes the clipping work.

Different views of the camera when traversing through the level.

The set-up to use this camera will take under 10 minutes and then the camera is ready to use. This was my try to make a dynamic 3rd person camera and I hope people find it easy to use.

Link to Github: