언리얼4 Blueprint FPS게임 총기발사
Intro
- 애니메이션 블루프린트와 총기발사 블루프린트 만들어보기
애니메이션 블루프린트
Animation 블루프린트를 만들어 준다음
애님그래프에서 State Machine을 추가
State Machine 내부에 상태를(idle) 정의한뒤
idle 상태의 애니메이션을 넣어준다.
다시 애님그래프로 와서 State Machine의 상태를 캐시포즈로 만들어준다음
캐시포즈를 불러와 애니메이션 몽타주를 사용하기위해 슬롯을 만들어 주었다.
캐릭터 블루프린트 클릭 이벤트 생성
캐릭터 블루프린트 이벤트그래프로 넘어와서
클릭 이벤트 생성후 연속 발사를 위한 Gate를 생성
총기 발사 모션과 사운드 재생
Int형 변수 Ammo
생성
총구화염을 표시하기위해
스켈레톤 파일에서 Silencer 아래에 Muzzle 소켓을 추가한뒤
캐릭터 블루프린트 SkeletalMesh아래에 빈 StaticMesh를 만들고 부모소켓을 Muzzle로 해두었다.
사용할 모션을 몽타주로 만들어준다.
Ammo변수가 0이면 Branch에 의해 딸깍거리는 사운드가 재생되며
0이 아니라면 Ammo변수를 1감소시킨 후 총기 발사 모션과 발사 사운드 재생과
동시에 미리 만들어둔 Muzzle에서 총구 화염을 표시
Line Trace 활용
LineTraceForObjects를 만들고 Start 부분에는 카메라의 벡터값
끝나는 위치는 20000만큼 떨어진 지점의 벡터값을 넣어준뒤
LineTrace할 오브젝트 타입 배열을 연결시켜주었습니다.
무시하려는 값은 자신이므로 Self 배열을 넣고 눈으로 확인하기위해
Draw Debug Type을 켜준다.
LineTrace의 결과값을 분석해 트레이스의 걸린 오브젝트의
Tag값이 Body인경우 Apply Point Damage를 통해
50의 데미지를 주고 피 이펙트가 터지도록 했으며
그외에 벽,사물 같은 오브젝트는 연기 이펙트가 터지도록 했다.
댓글남기기