RPG류 게임에서 주인공이 휘두르는 검에 표현되는 궤적이나 총알을 발사했을때 총알이 날아가는 궤적을 만들어 보겠다. 

유니티는 이런 효과를 할수 있는 Trail Rendere를 제공한다.

 

Trail Renderer

 

 

Bullet Prefab을 끌어다 씬에 놓는다.

하이러키 뷰에서 Bullet을 선택하고 메뉴에서 Component>Effects>Trail Renderer를 선택해 Trail Renderer를 추가한다. Bullet의 Z축을 잡고 앞으로 드래그하면 동적으로 생성된 메시를 볼수 있다. 이때 씬뷰의 렌더링모드를 Wireframe으로 변경하면 동적으로 만들어진 메시의 형태를 볼 수 있다.

동적으로 생성된 메시는 위와 같이 노란색이 아니라 분홍색이다. 아직 머터리얼이 없어서 그렇다.

Resources/Textures 폴더에 Trail.png를 04.Images폴더에 끌어다 놓는다.\

Images/Material 폴더에 머터리얼을 새로 만들고 BulletTrail으로 이름을 바꾼다.

Shader를 Mobile/Particles/Additive로 변경하면 Particle Texture속성이 나타난다. 여기에 trail.png를 끌어다 연결한다.

완성된 Material을 Bullet에 추가된 Trail Rendere컴포넌트의 Material속성중 Element0에 끌어다 놓는다. 이러면 분홍색에 텍스처가 입려진다.

Trail Rendere컴포넌트의 디테일이다. Width는 곡선의 작은 동그라미를 마우스로 잡고 위치를 바꿀수 있다. 시작두께와 끝나는 지점의 두께를 조정할 수 있다. 더블클릭하면 새로운 노드가 생긴다.

 

타임은 Trail의 지속시간 Min Vertex Distance는 Trail의 진동시간이다. 길면 파도가 길어진다.

칼라를 누르면 다음과 같은 창이 뜨는데 왼쪽끝과 오른쪽 끝 아래 잉크를 눌러 색을 바꾸고 위잉크를 누르면  불투명도를 바꿀수 있다. 앞쪽을 노란색으로 하고 뒤쪽의 불투명도를 180으로 하겠다.

프리팹의 변경내용 조회및 저장

Bullet의 Prefab이 아닌 씬위의 인스턴스를 변경했기 때문에 변화를 Prefab에 저장할 필요가 있다.

하이라키의 Bullet을 선택하고  인스펙터의 Overrides를 클릭하면 변경된 부분이 나타나면 Apply All하면 Prefab에 적용된다. Revert All하면 인스턴스는 다시 Prefab상태로 돌아간다.

변경전 변경된 내용을 클릭하면 다음과 같이 변경된 부분을 비교하면서 확인할 수 있다.

프로젝트뷰의 Bullet Prefab을 눌러 인스펙트뷰에서 Scale을 (0.3,0.3,0.3), 

총알을 빠르게 하기위해서 Rigidbody컴포의 Mass(무게)를 0.1로 해봤는데 파티클이펙트가 안되는 경우가 많아 다시 1로 되돌렸다. 

그냥 총알에 AddForce()를 크게 해주는게 좋을듯 하다.

+ Recent posts