Weapon 에 Barrel 이라는 소켓을 생성했다
그러고 소켓의 위치를 총구로 옮기고 X 축이 총구의 앞을 가르키도록 90도 회전을 시켰다.
코드에서 파티클을 생성하는 코드를 짰다, 위에서 만든 소켓의 트랜스폼을 토대로 생성을 하는 코드를 작성했다.
ParticleSystem 을 생성한 후
void AShooterCharacter::FireWeapon()
{
UE_LOG(LogTemp, Warning, TEXT("Fire Weapon."));
if (FireSound)
{
UGameplayStatics::PlaySound2D(this, FireSound);
}
const USkeletalMeshSocket* BarrelSocket = GetMesh()->GetSocketByName("BarrelSocket");
if (BarrelSocket)
{
const FTransform SocketTransform = BarrelSocket->GetSocketTransform(GetMesh());
if (MuzzleFlash)
{
UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), MuzzleFlash, SocketTransform);
}
}
}
기본 캐릭터의 파티클은 3점사 형식이여서 복사를 해서 3점사를 단발로 바꿀 예정이라고 한다.
이펙트 에디터에서 각각의 이펙트들의 Spawn 을 누르고 Burst 부분에서 Burst 의 원소가 3개인 것을 하나로 줄이면 3점사를 그냥 단발로 설정할 수 있게 된다.
변경 후
변경 전
두다다다다다다다닫ㄷ다ㅏ