CameraTron 9000


CameraTron9000 provides more than just a powerful and versatile 3D camera for strategy and top-down styled games, it also includes an entire selection framework, focusing tools, an interaction framework for easily setting up coroutines that check for user input, and so much more!


Feature Overview Video


This camera is specifically made with a multitude of movement and rotation smoothing options, that can be configured to suit the need and terrain of your game. Whether it is adjusting height with terrain or mesh colliders, moving (forward/backward, left/right up/down), or rotation, all forms of movement and motion have built in smoothing to eliminate any form of stuttering, while also providing a number of anti-terrain clipping options. You can easily configure how you want each type of movement to happen, with speed, input type, as well as many advanced input features like mouse panning, edge panning, and much more. All features in this asset are fully compatible with each other, and contain built-in conflict checks to ensure all features run smoothly "out-of-the-box", and require absolutely no coding to design a camera for your game that has a AAA quality feel.


Configured for keyboard and mouse input. Does not support controller input at the moment.


NOTE: The Demo Scene currently only works in Unity 2019.3 or higher.

Features:

Fully Configurable Movement & Rotation Controls

-Keyboard & Mouse for Movement
-Keyboard & Mouse for Rotation
-Rotation angle limiting
-Compatibility for multiple movement/rotation features receiving input on the same update frame
-Numerous speed adjustment variables, to easily configure the desired speed with any scene size


Mouse Panning

-Front-Back mouse motion for Movement
-Left-Right mouse motion for Movement
-Front-Back mouse motion for X-Axis Tilting
(With Euler angle limiting & 'pitch' reversing)
-Left-Right mouse motion for Rotation
-Multiple configurable mouse panning speeds


Edge Panning

-Top-Bottom screen edge panning for Movement
-Left-Right screen edge panning for Movement
-Top-Bottom screen edge panning for Zooming
-Left-Right screen edge panning for Rotation
-Configurable screen edge percentages
-Edge Pan Gradient
-Hard Edge Panning (Screen edge, or over the screen edge)
-Non-square screen size ratio adaptability
-Edge Pan Visualizer, for quick and easy setup (Visualizes the pan gradient too!)
-Configurable edge panning speed


Configurable Height Adjustment Settings

-Uses no physics, only smooth and efficient math!
-Can adjust height with Terrain or Colliders!(without physics or gravity!)
-Works with multiple terrains
-Works with multi-leveled terrains(i.e. underground/above ground)
-Min and Max Heights allowed
-A ton of configurable options for the perfect
smooth height transitioning for your scene
-Multiple anti-terrain clipping options


Zoom Animations

-Intuitive and easy-to-use zoom animation curve system
-Zoom with mouse wheel and/or keys(or not at all)
-Zoom to cursor
-Camera swivel mode(rotating on X and Y Axis
-Multiple swivel-mode return types(return to zoom animation curve)
-Both X and Y Axis rotation limits for the camera swivel mode
-Configurable swivel speed, and return speed


An Entire Selection Framework

-Click Select and De-select
-Rectangle Select
-Easy to setup a custom rectangle select sprite
-A debug-draw tool for visualizing the rectangle select tool
-Selectable Priorities
-Selectable Types
-Selectable Sprites (Render when selected)
-Selection Groups tied to keys 0-9 (Standard and/or Numpad keys)
-Modify Selection key to add/remove from current selection
(Works with both click-select and rectangle select!)


Multiple Object Focusing Types

-Configurable move over time focusing
-Configurable fade in/out focusing
-Instant focusing
-Configurable selection group focusing
-Zoom to object while focusing
-Follow object after focusing


Interaction Coroutine Framework

-An easy to use framework for setting up and configuring coroutines that involve user input
-All user input coroutines in this asset come pre-setup with an interaction coroutine and are easily configurable for your own needs


Various Other Goodies

-Configurable long-distance rotation smoothing
-Configurable Terrain boundary limiter
-A script for easily configuring different types of movement/motion/features to disable when the mouse is over a ui object or when mouse is over a ui object and specified keys are pressed (key or key down or key up).
-Custom Inspector UI


And a lot more!

IMPORTANT NOTE: This asset requires the use of the legacy input system. When using Unity's built-in Input Package, Active Input Handling must be set to either "Input Manager (Old)" or "Both". To change this setting you can find it in: Project Settings -> Player -> Other Settings -> Active Input Handling


If you have any problems or comments please feel free to stop by the Unity forum post for this asset HERE.

If you purchase this asset, and you're pleased with your purchase, please consider coming back here and leaving this asset a review!