diff options
Diffstat (limited to 'Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/ExampleScripts/SmoothCameraFollow.cs')
| -rw-r--r-- | Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/ExampleScripts/SmoothCameraFollow.cs | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/ExampleScripts/SmoothCameraFollow.cs b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/ExampleScripts/SmoothCameraFollow.cs new file mode 100644 index 0000000..80efdfb --- /dev/null +++ b/Other/AstarPathfindingDemo/Packages/com.arongranberg.astar/ExampleScenes/ExampleScripts/SmoothCameraFollow.cs @@ -0,0 +1,37 @@ +using UnityEngine; + +namespace Pathfinding.Examples { +	/// <summary> +	/// Smooth Camera Following. +	/// \author http://wiki.unity3d.com/index.php/SmoothFollow2 +	/// </summary> +	[HelpURL("https://arongranberg.com/astar/documentation/stable/smoothcamerafollow.html")] +	public class SmoothCameraFollow : VersionedMonoBehaviour { +		public Transform target; +		public float distance = 3.0f; +		public float height = 3.0f; +		public float damping = 5.0f; +		public bool enableRotation = true; +		public bool smoothRotation = true; +		public float rotationDamping = 10.0f; +		public bool staticOffset = false; + +		void LateUpdate () { +			Vector3 wantedPosition; + +			if (staticOffset) { +				wantedPosition = target.position + new Vector3(0, height, distance); +			} else { +				wantedPosition = target.TransformPoint(0, height, -distance); +			} +			transform.position = Vector3.Lerp(transform.position, wantedPosition, Time.deltaTime * damping); + +			if (enableRotation) { +				if (smoothRotation) { +					Quaternion wantedRotation = Quaternion.LookRotation(target.position - transform.position, target.up); +					transform.rotation = Quaternion.Slerp(transform.rotation, wantedRotation, Time.deltaTime * rotationDamping); +				} else transform.LookAt(target, target.up); +			} +		} +	} +} | 
