- 캐릭터 / AI / 아이템 -> 이펙트 사운드 추가
아이템
- 아이템 같은 경우에는 오버랩으로 이벤트가 발생하고 애니매이션을 사용하지 않기 때문에 코드와 블루프린트를 이용해서 나이아가라 시스템 적용
.hUPROPERTY(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); } }-> 처음꺼는 잘 나오지만 두번째 것은 나오지 않아 확인해본 결과 파티클이 아니라 나이아가라에셋.. 두번째것 그냥 삭제후 캐릭터 모양과 모션에 맞는 위치 애니매이션에 노티파이로 삽입하기
- 코드로 해보니 위치부분이 마음에 들지 않아서 그냥 에디터에서 직접 보면서 수정하는게 좋을 것 같아서 수정.
- 코드에 있는 첫번째 파티클은 자연스럽게 위치에 맞게 나와서 그대로 둠
- 마무리 작업 실시
- 레벨링 / 에셋 오류 확인 작업