BB프로젝트 12~13일차

김재혁·2025년 3월 4일
post-thumbnail

일정

  • 캐릭터 / AI / 아이템 -> 이펙트 사운드 추가

진행

아이템

  • 아이템 같은 경우에는 오버랩으로 이벤트가 발생하고 애니매이션을 사용하지 않기 때문에 코드와 블루프린트를 이용해서 나이아가라 시스템 적용
    .h
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Item|Effects")
	UNiagaraSystem* HealingEffect;

.cpp

UNiagaraFunctionLibrary::SpawnSystemAtLocation(GetWorld(), HealingEffect, Location);

나이아가라 시스템 적용시키기
블루프린트 그래프 -> C++에서 선언한 HealingEffect(나이아가라 시스템 타입) 사용해서 원하는 이펙트 적용.

Player

1) 피격시, 걸을때의 사운드 구현

  • AI 같은 경우는 애니매이션을 사용하여 파티클, 사운드를 입히기
    발 움직임 위치에 맞게 사운드를 노티파이 추가해서 삽입. ->이펙트(파티클)도 동일 -> 어려운 작업은 아니나 많은 시간이 소모... 사용한 모든 애니매이션에 집어넣어야하기때문에...

2) 총기 사운드 / 이펙트 구현

  • 총기같은 경우는 소켓 이름에 Muzzle을 넣어 Muzzle 스켈레톤에서 이펙트가 발생하게 붙임 -> 사운드는 제대로 구현이 되나 이펙트가 사라지지 않아서 내일 캐릭터 담당 팀원분에게 코드 수정 실행.

AI

  • 몬스터한테도 발소리, 타격 모션사운드를 넣어봤는데 너무 시끄러워서 다 지우기로 결정.
  • 피격 모션(피) / 사망시 사운드만 구현.
    ->Player랑 동일한 방식 적용
  • 원래는 코드를 이용해서만 작성하려고 했는데 좀 밋밋해서 코드 + 노티파이 2개를 써서 좀 더 잘보이게끔 진행함.
    TakeDamage에 파티클 시스템을 추가
 if (DamageCauser->GetWorld())
 {
     FVector SpawnLocation = PointDamageEvent->HitInfo.ImpactPoint;
     UParticleSystem* BloodEffect = LoadObject<UParticleSystem>(nullptr, TEXT("/Game/BSP_FPS_TPS_Particles/Particles/BulletImpact/PS_Bullet_Impact_Flesh_1.PS_Bullet_Impact_Flesh_1")); 
     if (BloodEffect)
     {
         UGameplayStatics::SpawnEmitterAtLocation(DamageCauser->GetWorld(), BloodEffect, SpawnLocation, FRotator::ZeroRotator, true);
     }
     UParticleSystem* AdditionalEffect = LoadObject<UParticleSystem>(nullptr, TEXT("/Game/MixedVFX/Particles/Slashes/SeparateParts/Hits/NS_VampireSlash_Hit.NS_VampireSlash_Hit")); 
     if (AdditionalEffect)
     {
         UGameplayStatics::SpawnEmitterAtLocation(DamageCauser->GetWorld(), AdditionalEffect, SpawnLocation, FRotator::ZeroRotator, true);
     }
 }

-> 처음꺼는 잘 나오지만 두번째 것은 나오지 않아 확인해본 결과 파티클이 아니라 나이아가라에셋.. 두번째것 그냥 삭제후 캐릭터 모양과 모션에 맞는 위치 애니매이션에 노티파이로 삽입하기

  • 코드로 해보니 위치부분이 마음에 들지 않아서 그냥 에디터에서 직접 보면서 수정하는게 좋을 것 같아서 수정.
  • 코드에 있는 첫번째 파티클은 자연스럽게 위치에 맞게 나와서 그대로 둠

내일 일정

  • 마무리 작업 실시
  • 레벨링 / 에셋 오류 확인 작업

0개의 댓글