36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
|
|
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; }
|
|||
|
|
}
|