함수의 Parameter 보고싶을때

Ctrl + Shit + space 를 누르면 함수의 매개변수를 볼 수 있다.

GIF 2023-02-27 오전 1-19-32.gif

값을 표기할때의 ‘

Untitled

Line Tracing 사용

void AShooterCharacter::FireWeapon()
{
	UE_LOG(LogTemp, Warning, TEXT("Fire Weapon."));
	if (FireSound)
	{
		UGameplayStatics::PlaySound2D(this, FireSound);
	}

	const USkeletalMeshSocket* BarrelSocket = GetMesh()->GetSocketByName("Barrel");
	if (BarrelSocket)
	{
		const FTransform SocketTransform = BarrelSocket->GetSocketTransform(GetMesh());
		
		if (MuzzleFlash)
		{
			UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), MuzzleFlash, SocketTransform);
		}

		FHitResult FireHit;
		const FVector Start{ SocketTransform.GetLocation() };
		// 회전축을 얻는 것
		const FQuat Rotation{ SocketTransform.GetRotation() };
		// 소켓으로 부터 전방 Vector 을 얻는 과정
		const FVector RotationAxis{ Rotation.GetAxisX() };
		const FVector End{ Start + RotationAxis * 50'000.f };
		GetWorld()->LineTraceSingleByChannel(FireHit, Start, End, ECollisionChannel::ECC_Visibility);

		if (FireHit.bBlockingHit)
		{
			DrawDebugLine(GetWorld(), Start, End, FColor::Red, false, 2.0f);
			DrawDebugPoint(GetWorld(), FireHit.Location, 5.f,FColor::Red,false,2.0f);

		}

	}

	UAnimInstance* AnimInstance = GetMesh()->GetAnimInstance();
	if (AnimInstance && HipFireMontage)
	{
		AnimInstance->Montage_Play(HipFireMontage);
		AnimInstance->Montage_JumpToSection(FName("StartFire"));
	}

}

Untitled

위 선형 대수학을 사용해서 Barrel 으로 부터 전방지점을 구하고 투사체를 발사해서 만약 맞았다면 Ray 와 Sphere 을 그리도록 구현했다.

두다다다다다다닫다

두다다다다다다닫다