[UE/Implement] 탄창 소모 연출

2025. 2. 21. 23:51·Unrael/Implement

1. 개요

이번 포스팅에서는

격발시 탄창이 줄어드는 연출을

구현한 것에 대해 정리해 보았다.

 

2. 기능 요구 사항

  • 발사 시 탄창 감소

 

3. 머티리얼 인스턴스 다이나믹 

기능 구현 전 머터리얼에서

파라미터 수정을 통해 탄창이 줄어드는 효과를 줄 수 있음을 확인하였다.

 

머티리얼을 수정을 위해 코드 상에서 머티리얼 인스턴스를 사용해야 한다.

언리얼 엔진에서는 두 가지 타입의 머티리얼 인스턴스를 제공하는데 (링크)

  • 머티리얼 인스턴스 상수
  • 머티리얼 인스턴스 다이나믹

이 중 머티리얼 인스턴스 다이나믹은 런타임에서 계산, 편집이 가능하다.

 

게임플레이 중 머터리얼 파라미터 변경으로 탄창 소모 연출을 줄 예정이기에

코드 상에서 머티리얼 인스턴스 다이나믹을 사용할 예정이다.

 

4. 구현

4.1 머터리얼 인스턴스 다이나믹 생성 및 교체

// "머티리얼 인스턴스 다이나믹" 생성
if (UMaterialInstanceDynamic* LiquidTankMaterial = UMaterialInstanceDynamic::Create(GetMesh()->GetMaterial(LiquidTankMaterialIndex), this))
{
    // 생성된 "머티리얼 인스턴스 다이나믹" 덮어쓰기
    GetMesh()->SetMaterial(LiquidTankMaterialIndex, LiquidTankMaterial);
    LiquidTank->Init(LiquidTankMaterial);
}

 

4.2 머터리얼 인스턴스 다이나믹 파라미터 수정

if (LiquidMaterial)
{
    // "머티리얼 인스턴스 다이나믹"의 프로퍼티 값 변경하기
    LiquidMaterial->SetScalarParameterValue(FName("BulletCount"), Percent);
}

 

5. 테스트

✅ 기대 결과:

  • 격발 시 탄창 소모 연출

 

⚠️ 이슈:

  • "원본 머티리얼"으로 생성된 머티리얼 인스턴스은 수정해도 원본에 적용되지 않는다.
  • 해결 : 메시의 원본 머티리얼을 머티리얼 인스턴스 다이나믹으로 교체해줘야 한다.

'Unrael > Implement' 카테고리의 다른 글

[UE/Implement] 피격 이펙트 구현  (0) 2025.02.26
[UE/Implement] 바라보는 방향으로 총알 발사  (0) 2025.02.24
[UE/Implement] 미니 프로젝트 회고  (0) 2025.02.13
[UE/Basic] 치트 매니저 (Cheat Manager)  (0) 2025.02.12
[UE/Implement] 트랩 구현  (0) 2025.02.11
'Unrael/Implement' 카테고리의 다른 글
  • [UE/Implement] 피격 이펙트 구현
  • [UE/Implement] 바라보는 방향으로 총알 발사
  • [UE/Implement] 미니 프로젝트 회고
  • [UE/Basic] 치트 매니저 (Cheat Manager)
DevColIn
DevColIn
복잡함을 단순하게
  • DevColIn
    심플한 코딩생활
    복잡함을 단순하게
  • 전체
    오늘
    어제
    • 전체보기 (223)
      • Unreal 부트캠프 (49)
        • TIL (34)
        • 사전캠프 (7)
        • 본캠프 (8)
      • Unrael (10)
        • 환경설정 (0)
        • Basic (19)
        • Component (5)
        • GAS (GameplayAbilitySystem) (3)
        • AI (2)
        • Implement (10)
        • UI (1)
        • Error (1)
        • Network (2)
        • Tip (1)
      • Level Design (5)
      • Math (1)
      • Design Pattern (16)
      • Computer Science (2)
        • Network (1)
        • Database (1)
      • Algorithm (79)
        • Basic (4)
        • Practice (74)
      • C++ (4)
        • Basic (4)
      • Tool (0)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    레벨디자인
    unrealengine
    내일배움캠프
    c++
    디자인패턴
    디자인 패턴
    Til
    액터
    component
    actor
    DesignPattern
    gas
    tsoftobjectptr
    사전캠프
    unreal
    GameplayEffect
    퀘스트
    게임동기화
    AI
    알고리즘
    Algorithm
    소프트 레퍼런신
    basic
    Animation
    Design Pattern
    하드 레퍼런싱
    KPT회고
    본캠프
    assetmanager
    Implement
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
DevColIn
[UE/Implement] 탄창 소모 연출
상단으로

티스토리툴바