Version 1.0.1

August 22nd 2016

Introduction

Deja-View is a camera animation system designed to create a unique and playful experience for your 3rd person Unity games. The main mechanic of the camera is its ability to exactly follow where your player has been over time while always looking at your player. This creates a very fluid movement system, whereby the camera takes on a bit of personality and helps give a more human experience to your game.

How does it work?
Deja-View works by blending 2 methods of animation at runtime. The first method is a traditional linear interpolation from Vector A to Vector B. The second method is achieved by recording a buffer of Vectors where the player has been on each frame. Depending on the distance and location of the camera is will pick between the two and determine which is the best for a given frame. In addition to the main movement, an orbit system has been built into Deja-View, which allows the player to spin around your character in the X & Y Axis. The combination of these movement mechanics creates a very smooth and natural feeling camera animation.

Occluding Objects

In addition to its fun and natural feeling movement, Deja-View also contains settings to block out things which may occlude the camera’s view of the target object. In these cases you have a lot of control settings which tell Deja-View how to handle these encounters. The default behavior is to quickly make the occluding object transparent, but can also be set to just make it invisible or change it’s rendering to be another shader altogether.

Installation:

Installing Deja-View is a snap.

  1. Install the Deja-View package
  2. Pick your existing Camera
  3. Add the Deja-View component to your camera
  4. Select the Target Deja-View should follow
  5. Adjust your movement settings
  6. Click Play

Settings:

Below is a list of settings available to Deja-View.

  • Target – This is the object you want the camera to follow
  • Follow Delay – This is the number of movement frames to store in the buffer
  • Catch Up Sped – When the target gets too far from the camera, this speed is used to catch up

 

  • Transparency Delay – The wait before an occluding object is made transparent
  • Opacity – How transparent to make the occluding object
  • Use Replacement Shader – If you would rather swap out to another shader instead of changing the opacity
  • Shader Name – The name of the replacement shader

 

  • Minimum Distance – This is the distance which the camera must maintain at all times and not get any closer to your target.
  • Maximum Distance – This is the distance at which Deja-View will stop allowing your target to move without directly following.

 

  • Height Offset – This is how high the camera must be at all times, think of it like the Y Offset
  • Idle Height Offset – In Idle mode, you can specify that the camera rest at another height.

 

  • Idle Movement Under – If your character makes movements under this amount of distance per frame, it will count towards the idle timeout
  • Idle Count – This is the number of frames to wait before your camera goes into idle mode
  • Orbit on Idle – This option will cause the camera to orbit around your target in the X Axis
  • Idle Orbit Speed – how fast the camera will rotate around the target when idle

 

  • X Orbit Axis Name – This is the name of your Unity Input which is setup for controlling the X Axis (Like : Mouse X)
  • X Orbit Speed – The speed at which to apply the Horizontal Orbit
  • Invert – Allows you to invert the setting

 

  • Y Orbit Axis Name – This is the name of your Unity Input which is setup for controlling the Y Axis (Like: Mouse Y)
  • Y Orbit Speed – The speed at which to apply the Vertical Orbit
  • Invert – Allows you to invert the setting
  • Max Y Angle – this is the maximum up and down view rotation

Screen Shot 2016-08-23 at 8.07.33 AM

Thats It
Nothing more to see here folks, go ahead and head back over to Unity and go nuts!