์บ๋ฆญํฐ ํผ๊ฒฉ์ ์นด๋ฉ๋ผ๊ฐ ํ๋ค๋ฆฌ๋ฉด ๋ ๋ฐ์ง๊ฐ ์์๊บผ ๊ฐ์์
์ธํฐ๋ท์์ ์ด์ฐ ์ด์ฐ ์ฝ๋๋ฅผ ๊ตฌํ๋๋ฐ
public class CameraShake : MonoBehaviour
{
public float ShakeAmount;
float ShakeTime;
Vector3 initialPosition;
public void VibrateForTime(float time)
{
ShakeTime = time;
//canvas.renderMode = RenderMode.ScreenSpaceCamera;
//canvas.renderMode = RenderMode.WorldSpace;
}
// Start is called before the first frame update
void Start()
{
initialPosition = new Vector3(0f, 0f, -5f);
}
// Update is called once per frame
void Update()
{
if(ShakeTime > 0)
{
transform.position = Random.insideUnitSphere * ShakeAmount + initialPosition;
ShakeTime -= Time.deltaTime;
}
else
{
ShakeTime = 0.0f;
transform.position = initialPosition;
//canvas.renderMode=RenderMode.ScreenSpaceCamera;
}
}
}
๋ง์์ ์๋์ง ํ์นธ ์ค์ ๋๋ง๋ค ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฉํ๋ คํ๋๋ฐ
๊ฒ์๋งค๋์ ์คํฌ๋ฆฝํธ ์์
CameraShake Camera;
void Shake()
{
if (isHit == true)
{
Camera = GetComponent<CameraShake>();
return;
}
}
void Start()
{
Shake();
}
์ด๋ ๊ฒ ํ๋ ๋น์ฐํ ์๋๋ค ใ กใ ก ์ด๋ค์ ์ด ํ๋ ธ๋์ง ์๋ ค์ค๋ผ ์ฝ์ด์ค์ ์ ๋ง ๊ณ ๋ง์
๊ฒ์์ ์ ๋์๊ฐ๋๋ฐ ์นด๋ฉ๋ผ ํ๋ค๋ฆฌ๋๊ฑฐ๋ง ์๋ผ ใ ใ
Camera getcomponent ๋ถ๊ทผ์์ ์ค๋ฅํฐ์ง
์ด๋ป๊ฒ ํ๋ฉด ๊ณ ์น ์ ์์๊น? ์๋ ค์ฃผ๋ฉด ๊ณ ๋ง๊ฒ ๋ค
๊ณ ๋์ผ๋ก ๋ฐ๊พธ๊ณ ์
๊ฐ์ ํด์ผ๋ผ? ์ ๋ง ๊ธฐ๋ฌ๋ ค ๊ฐ์ ํ๊ณ ์ฌ๊ป
์ ์ปดํฌ๋ํธ๋ง ๋ถ๋ฌ์ค๊ณ ํจ์ ํธ์ถ์ ์ํ๋?