본 캠프 TIL

26.06.30 TIL / 기초반 4강 정리 및 트러블슈팅 해결 / 밍글데이

jh009 2026. 6. 30. 20:21

오늘

기초반 4강 강의 정리

 

https://jh009.tistory.com/93

 

기초반 4강 / 몬스터, 체력, 피격 판정, 이펙트, 애니메이션

폴더 추가로 파일 정리 파일옮길 곳PlayerCharacter.h / .cppCharacters/Player/PlayerInputConfigDataAsset.h / .cppInput/WeaponDataAsset.h / .cppWeapons/ PlayerCharacter.h / .cppPlayerInputConfigDataAsset.h / .cppWeaponDataAsset.h / .cpp include

jh009.tistory.com


트러블슈팅

애니메이션 모션 누락 현상 분석

 

기초반 4강 / 6-2. 플레이어 몽타주 브리지 구현 중 발사(Fire) 모션이 나오지 않는 문제 발생

 

라인 트레이스로 인해 모션 확인이 제대로 안 보여서 임시로 코드 삭제

 

PlayerCharacter.cpp

// 카메라 위치에서 전방 5000까지 라인 트레이스
	FVector Start = CameraComponent->GetComponentLocation();
	FVector End   = Start + CameraComponent->GetForwardVector() * 5000.0f;

	FHitResult Hit;
	FCollisionQueryParams Params;
	Params.AddIgnoredActor(this);   // 자기 자신은 무시

	bool bHit = GetWorld()->LineTraceSingleByChannel(
		Hit, Start, End, ECC_Visibility, Params);

	// 디버그 시각화 — 4강에서 진짜 머즐/임팩트 이펙트로 교체
	DrawDebugLine(GetWorld(), Start, End, 
		FColor::Red, false, 0.5f, 0, 1.0f);

	if (bHit && Hit.GetActor())
	{
		// 맞은 액터에 MonsterAI 컴포넌트가 있으면 데미지 적용
		if (UMonsterAI* HitAI = Hit.GetActor()->FindComponentByClass<UMonsterAI>())
		{
			HitAI->OnMonsterDamage(SniperWeaponData->Damage);
		}
		
		// 임팩트 이펙트 — 맞은 지점에 한 번 스폰 (Cascade)
		if (ImpactEffect)
		{
			UGameplayStatics::SpawnEmitterAtLocation(
				GetWorld(), ImpactEffect, Hit.ImpactPoint);
		}
	}

 

 

AM_Player_Fire → Blend In, Out Time 문제였음

 

수정 전 / 후

 

Blend In Time과 Blend Out Time의 블렌딩이 되는 시간이 애니메이션 전체 길이보다 길거나 같아서 모션이 나오지 않았던 것임


그렇기 때문에 Blend In, Out Time을 짧게 설정한다면 모션이 다시 나올 수 있을 것임


PIE 테스트

  • Fire 모션이 잘 작동하게 되었음
  • 라인 트레이스 코드도 다시 추가하였음


밍글데이

밍글데이로 퀴즈도 풀고 재밌는 시간이었다

 

 

근데 초성 퀴즈로 데바데가 나올줄은 몰랐네..


회고

5번 과제와 기초반 4강까지 전부 다 했고, 4강에서의 트러블슈팅까지 다 해결하였다.

밍글데이에서 문제를 많이 풀진 못했지만 그래도 재밌었다.

내일부터는 팀플과제 발제 되는 날이기 때문에 여러가지로 준비를 해야겠다.