using System.Collections; using System.Collections.Generic; using UnityEngine; public class ObjShake : MonoBehaviour { private Vector3 originPosition; //private Quaternion originRotation; private float m_shaketime, m_shakearea; public void Update() { if (m_shaketime > 0) { transform.position = originPosition + Random.insideUnitSphere * m_shakearea; //transform.transform.rotation = new Quaternion( // originRotation.x + Random.Range(-shakearea, shakearea) * 0.2f, // originRotation.y + Random.Range(-shakearea, shakearea) * 0.2f, // originRotation.z + Random.Range(-shakearea, shakearea) * 0.2f, // originRotation.w + Random.Range(-shakearea, shakearea) * 0.2f); m_shaketime -= Time.deltaTime; if (m_shaketime <= 0f) transform.position = originPosition; } } public void Shake(float _shaketime, float _shakearea) { originPosition = transform.position; //originRotation = transform.rotation; m_shaketime = _shaketime; m_shakearea = _shakearea; } public bool IsShake() { return m_shaketime > 0; } }