본문 바로가기
개발일지/게임개발

유니티 3D 게임 개발 - VFX 넣기

by 라이티아 2024. 11. 26.

 

현재 제작중인 TPS게임이다, 히트 effect가 없어서 매우 심심한 것을 확인할 수 있다

 

여기에 VFX를 넣어보려 한다

 

이번에 사용될 Epic Toon FX의 효과중 1개를 사용한다

 

VFX를 사용할때 가장 중요한 것은 1개라고 생각한다

"어디에 생성될 것 인가?"

그리고 이어서 효과가 끝난 effect를 어떻게 정리할 것인가를 생각할 수 있다

 

현재 본 게임에서는 이미 ray를 사용하여 hit point를 Vector3로 구분해 두었기에, 해당 포인트에 VFX를 instantiate하기만 하면 된다

그후 본인의 경우는 Destroy(오브젝트, 시간)을 사용하여 정리한다

 

아마, 메모리에 완벽히 지워지지는 않는걸로 아는데, 이후 더 공부해보면 될 것 같다

 

어쨌든, 이를 사용해보면

 

// combet VFX
public GameObject shootVFX;

VFX를 담을 오브젝트를 선언하고

GameObject shoot = Instantiate(shootVFX, targetPoint, Quaternion.identity);
Destroy(shoot, 0.7f);

이를 필요한 부분에서 생성, 파괴하면 된다

 

이를 함수화 하자면

private void UsingVFX(GameObject VFX, Vector3 instnacePoint, float desTime)
{
    GameObject vfx = Instantiate(VFX, instnacePoint, Quaternion.identity);
    Destroy(vfx, desTime);
}

이렇게 사용할 수 있을 것 같다

 

이를 적용해서 테스트 해보면

 

게임에 생기가 살아난것을 확인할 수 있다