🐵

검은신화 | 오공

프로젝트 설명게임 오공의 보스전 중 호선봉 전투를 UE BluePrint 로 구현
스킬BluePrintUnreal
기간
시연 영상https://youtu.be/Srpzo-DOX6k?si=98G9c27C2vAV3BdT
githttps://github.com/jjonjung?tab=repositories
성과✔️ BluePrint 기반으로 전체 구현
✔️ 플레이어 행동 처리
(이동 거리 기반 걷기/달리기, 회전, 카메라 처리 로직을 BP로 직접 구현)
기여도 분석- 총 인원 2명
- 상대 기여도: 약 35%
- 분석 근거
  1. 본인 담당: 플레이어
  2. 타 팀원 담당: AI 적, 시스템

✔️ 간트차트, Git

🔹간트 차트 - 프로젝트 진행 상황


🔹Git - 프로젝트 협업 프로세스 구축 Git 사용 가이드 문서화

협업 시스템 구축, 기술 커뮤니케이션, 리스크 관리

  • 배경
    • Git 사용 경험이 없는 팀원이 있어 협업 과정에서 브랜치 충돌 및 작업 관리 문제가 발생할 가능성이 있었음
    1. 문제 해결
      • Git 협업 프로세스를 정리한 Git 사용 가이드 문서 제작
      • 다음 내용을 포함하여 PDF 문서로 배포
        • Git 기본 개념 (Repository / Commit / Branch)
        • 협업 브랜치 전략
        • Pull / Push / Merge 절차
        • 충돌 발생 시 해결 방법
      • 팀원들이 참고할 수 있도록 실제 프로젝트 workflow 기준으로 정리
    1. 성과
      • Git 경험이 없는 팀원을 위해 협업 workflow 및 Git 사용 가이드 PDF 제작
        • Git workflow 정리(초보자도 이해 가능한 문서 작성) → 팀 개발 환경 안정화
      • 브랜치 전략 및 merge 절차를 정리하여 프로젝트 종료까지 Git 관련 이슈 없이 협업 진행

        리스크 관리: Git 충돌 / 작업 누락 방지

✔️ 게임 소개

✔️ 시연 영상

✔️ 핵심 구현 내용

구현 요소세부 동작
이동방향키 이동, 점프, 구르기
공격사운드, 히트 이펙트, hit 값 출력
피격넉백, 히트 스톱
보스 Ai공격, 추적, 피격, 회피, 사운드, 이펙트
UI메인메뉴UI, 레디UI, HP, 사운드
1️⃣

플레이어 구현 - 이동

구현 요소세부 동작사용 기술
이동(앞, 뒤)전/후좌우 이동InputAction, 키 바인딩, 백터의 내적처리
이동(좌, 우)회전 처리InputAxis, Get World Delta Seconds, 백터의 내적처리
  • p = p₀ + vt

:걷기(Walk) 와 달리기(Run) -> 물리적 이동 거리 기반, 캐릭터 이동

이동방식속도(v)시간(t)이동거리(p - p₀)
걷기10001초1000
달리기16001초1600
2️⃣

플레이어 구현 - 카메라 제어

[ 오일러 각 (Euler angle) ]
  • 3차원 공간 -> 회전 세 개의 축(X, Y, Z)
  • 각각의 축 기준 순차적 회전 → Roll, Pitch, Yaw
  • 회전 순서에 따라, 표현 방식 달라짐 (예: Z-X-Z, X-Y-Z 등)

  • 락온 시에는 LookAtRotation으로 계산된 오일러 각 값을 사용하여 Yaw을 강제로 설정
  • 회전 축 하나 고정->Yaw, Roll 겹침 ->나머지 회전 계산이 꼬임->카메라 무제한 회전 문제
구현 요소세부 동작사용 기술
카메라 제어- SpringArm
- FollowCamera
- 카메라 회전 제어
- SpringArm Component
- Use Pawn Control Rotation
- Camera Lag
- Controller / Camera 회전
Yaw 기반 이동- 축 기반- GetControlRotation → BreakRot → Yaw
- GetForwardVector()
방향 벡터 계산- 보스 움직임 재활성화- Add Movement Input(CameraForwardVector)
줌인/아웃- SpringArm 길이 조절- SpringArm 길이 조절
- 백터 축 기반 거리 감지

🔹LockOn

구현 요소세부 동작사용 기술
락온
(카메라 고정)
좌우 방향성 판별- 캐릭터 → 대상 방향 벡터 계산 (LookAt)
- 단순한 카메라 고정이 아닌, 카메라 벡터와 대상 벡터 간 외적을 기반으로 방향성 제어
구현 요소세부 동작사용 기술
LockOn- Enemy 시점 고정- Find Look at Rotation
- SetActorRotation
- Dot Product로 시야 내 감지
- SpringArm → SetWorldRotation
- Socket Offset으로 위치 조절
3️⃣

플레이어 구현 - UI

게임 상태가 Playing 상태가 되면 플레이어 및 보스 HP UI 노출

3️⃣

플레이어 구현 - Skill

🔹일반 공격 - 봉 타격

구현 요소세부 동작사용 기술
때리기이동 입력 처리- 전방 돌진 (InputAction, LaunchCharacter)
- 상태 제어 (조건 분기(Branch), Delay, DoOnce)
- 공격 판정 (Collision, Overlap, Ignore Channels)

🔹일반 공격 - 봉 타격 발생 이펙트

구현 요소세부 동작사용 기술
- 충돌 위치 이펙트
- Hit 데미지 출력
- 애니메이션 실행
- 무기 충돌 판정
- Hit 데미지 계산 및 출력
- 이펙트, 데미지 출력
- Play Anim Montage
- Staff Collision
- OnComponentBeginOverlap
- Get World Location
- Niagara Spawn
- Append: 데미지 수치 + "Player" 문자열 구성
- 데미지 숫자 시각화
구현 요소세부 동작사용 기술
사운드 및 파티클무기 충돌 시 위치 값 받아 출력- 애니메이션 노드 이펙트, 사운드 동시 실행
- 충돌 지점 attack 수, 파티클 생성

🔹정지술

구현 요소세부 동작사용 기술
입력 처리정지술 키 입력- Action Input
- Custom Event
대상 감지호선봉 감지
(범위 내 추적)
- Sphere Trace for Objects
- Cast To BP_HB
- Actor Filter
딜레이3초간 시간 정지 유지-Delay (3.0초)
보스 복원보스 움직임 재활성화- Cast to bp_hb, create function
- Restore Speed
4️⃣

플레이어 구현 - 피격

구현 요소세부 동작사용 기술
때리기공격 성공 시- 충돌 시 체력감소(변수처리, Widget)
- 뒤로 밀림(Add Actor World Offset), 넉백