Unity/구현
[Unity 유니티] 2D 피격 이펙트 구현하기
보니_
2025. 1. 8. 19:13
2D 게임에서 적이나 플레이어가 피격될 때의 효과는 게임의 몰입감을 높이는 중요한 요소다. 이번 글에서는 간단한 2D 피격 이펙트를 Unity에서 구현하는 방법을 소개한다.
1. 간단한 코드 구현
이 코드를 사용하면 피격 시 스프라이트가 하얗게 변했다가 원래대로 돌아오게 된다.
using UnityEngine;
public class HitEffect : MonoBehaviour
{
private SpriteRenderer spriteRenderer;
private Color originalColor;
public Color hitColor = Color.white; // 피격 시 스프라이트 색상
public float effectDuration = 0.1f; // 효과 지속 시간
private void Start()
{
spriteRenderer = GetComponent<SpriteRenderer>();
originalColor = spriteRenderer.color;
}
public void TriggerEffect()
{
StopAllCoroutines(); // 이전 효과가 남아있다면 초기화
StartCoroutine(HitFlash());
}
private System.Collections.IEnumerator HitFlash()
{
spriteRenderer.color = hitColor;
yield return new WaitForSeconds(effectDuration);
spriteRenderer.color = originalColor;
}
}
2. 사용 방법
public class Enemy : MonoBehaviour
{
private HitEffect hitEffect;
private void Start()
{
hitEffect = GetComponent<HitEffect>();
}
public void TakeDamage()
{
hitEffect.TriggerEffect();
// 추가 로직: 체력 감소, 사망 처리 등
}
}
파티클을 추가한다면 퀄리티를 높일 수 있다.