Unity

0625 CameraShake

피곤핑 2019. 6. 25. 11:15

1. "CameraShake" 프로젝트 생성

2. AssetStore에서 unity particle pack 다운 > import

 1) BigExplosion prefab 드래그앤드롭

BigExplosion prefab

3. CameraShake.cs 스크립트 생성 후 Main Camera와 연동

 1) 코드 작성

 

4. 폭발 이펙트 만들기

 1) create empty object > "ExplosionTrigger" 생성 > Reset

 2) BigExplosion asset을 자식으로 연결함. (자식 위치도 Reset)

 3) ExplosionTrigger.cs 스크립트 만들고 같은이름 오브젝트로 연동.

 4) 코드 작성

ExplosionTrigger.cs 스크립트

 5) 링크 걸기

 * CameraShake는 MainCamera의 컴포넌트이지만 컴포넌트 변수를 선언하게 GameObject를 링크걸어도 됨.

 6) Looping을 언체크 함. (자식도 다끔)

  7) 보기좋도록 바닥을 만듬 (Scale : 10 1 10)

 

5. Prefab으로 만들기

 1) Prefab 폴더를 만들고 BigExplosion 을 옮긴뒤 Hierarchy 창에는 지움

 2) 다시 연결

 3) 코드 추가

ExplosionTrigger.cs 스크립트

 4) 마우스 클릭시에만 이펙트가 실행되야함

 

6. 메모리 누수 처리하기

 1) (방법1) - Destroy 사용  

 * hierarchy 창에서 시간이 지나면 사라지는 것을 볼 수 있음! (clone이)

 

 2) (방법2) - List로 관리하고 IsAlive()메서드 활용해서 제거

 3) (방법3) - 새 스크립트를 생성하여 destroy - 내가 내 스스로 체크해서 지움

 - 파티클 생성 코드와 StartCoroutine만 놔두고 다 주석침

 - Hierarchy 창으로 BigExplosion 프리팹을 다시 드래그 앤 드롭

 - BigExplosion.cs 스크립트 생성 후 BigExplosion 프리팹과 연동 

 - 다시 프리팹으로 만들고 Hierarchy 창에서는 지움.

 - ExplosionTrigger 의 particle Explosion 자리에 BigExplosion 프리팹 연결

 - 코드 작성