์บ๋ฆญํ„ฐ ํ”ผ๊ฒฉ์‹œ ์นด๋ฉ”๋ผ๊ฐ€ ํ”๋“ค๋ฆฌ๋ฉด ๋” ๋ฐ•์ง„๊ฐ ์žˆ์„๊บผ ๊ฐ™์•„์„œ

์ธํ„ฐ๋„ท์—์„œ ์–ด์ฐŒ ์–ด์ฐŒ ์ฝ”๋“œ๋ฅผ ๊ตฌํ–ˆ๋Š”๋ฐ


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();

}


์ด๋ ‡๊ฒŒ ํ•˜๋‹ˆ ๋‹น์—ฐํžˆ ์•ˆ๋˜๋„ค ใ…กใ…ก ์–ด๋–ค์ ์ด ํ‹€๋ ธ๋Š”์ง€ ์•Œ๋ ค์ค˜๋ผ ์ฝ์–ด์ค˜์„œ ์ •๋ง ๊ณ ๋งˆ์›Œ