Quantcast
Channel: Questions in topic: "follow"
Viewing all articles
Browse latest Browse all 536

Camera shake while following Player

$
0
0
Right now I am using this code in the Main Camera which follows the Player. using UnityEngine; using System.Collections; public class CameraShake : MonoBehaviour { public float duration = 0.5f; public float speedBump = 1.0f; public float magnitude = 0.1f; void Update(){ if(Input.GetButtonDown("Fire2")){ StartCoroutine(Shake()); } } IEnumerator Shake() { float elapsed = 0.0f; Vector3 originalCamPos = Camera.main.transform.position; while (elapsed < duration) { elapsed += Time.deltaTime; float percentComplete = elapsed / duration; float damper = 1.0f - Mathf.Clamp(4.0f * percentComplete - 3.0f, 0.0f, 1.0f); // map value to [-1, 1] var x = Random.value * 2.0f - 1.0f; var y = Random.value * 2.0f - 1.0f; x *= magnitude * damper * originalCamPos.x; y *= magnitude * damper * originalCamPos.y; Camera.main.transform.position = new Vector3(x, y, originalCamPos.z); yield return null; } } } Although it does shake when I hit "Fire2", it reverts the the original camera position, then shakes, and only returns following the Player when it is finished shaking. I have tired playing around with this code but haven't gotten any success with it. Thanks!

Viewing all articles
Browse latest Browse all 536

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>