Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class ShakeCameraOnCollisionWithTags : MonoBehaviour {
- public float shakeMagnitude = 1.0f;
- public float shakeTime = 1.0f;
- public string[] collideWithTags;
- private float shakeTimer = 0;
- private Vector3 originalPosition;
- // Update is called once per frame
- void Update ()
- {
- if(shakeTimer > 0)
- {
- Vector3 newPosition = originalPosition;
- newPosition += Random.insideUnitSphere*shakeMagnitude;
- Camera.main.transform.position = newPosition;
- shakeTimer-=Time.deltaTime;
- if(shakeTimer < 0)
- {
- Camera.main.transform.position = originalPosition;
- }
- }
- }
- void OnCollisionEnter( Collision collision )
- {
- foreach(string tag in collideWithTags)
- {
- if(collision.collider.tag == tag)
- {
- shakeTimer = shakeTime;
- originalPosition = Camera.main.transform.position;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement