UE4 Chapter 15. 장애물 만들기

Date:     Updated:

카테고리:

태그:

인프런에 있는 황대희님의 언리얼 엔진4 3D 횡스크롤 게임 만들기 강의를 듣고 정리한 필기입니다. 😀
언리얼 엔진 공식 문서 https://docs.unrealengine.com/ko/index.html

🚖 장애물 만들기

image

장애물 액터를 여러개 복사하여 배치한 후 이를 모두 선택하여 우클 - 액터->스태틱 메시로 변환 해주면 이 여러개의 액터가 하나의 스태틱 메시가 된다. 하나의 장애물 에셋이 됨.


🚖 장애물에 닿으면 데미지 입게 하기

장애물 블루프린트 만들기

image

장애물 스태틱 메시를 블루프린트로 만들기 위해 장애물 스태틱 메시를 레벨에 배치한 후 오른쪽에 ‘블루프린트/스크립트 추가’ 파란색 버튼을 누르면 해당 장애물 스태틱 메시의 블루프린트를 작성할 수 있다. “ObstacleBP” 라는 이름의 블루프린트 만들어 줌


🚩 장애물 블루프린트

image

  • Damaged Actor라는 Actor 타입의 변수를 만들고 이 변수가 참조하는 액터(플레이어)에게 데미지를 지속적으로 가할 것이다.
  • Take Damage 라는 함수를 만든다. 이 함수는 장애물 블루프린트 이벤트 그래프에서 Set Timer by Funcion Name 노드로 지속적으로, 반복적으로 실행시킬 것이다. 👉 플레이어가 장애물 안에 있는 동안 지속적으로 데미지를 주기 위해
    • Damaged Actor 변수가 None 이 아니라면 (Is Valid : True)
      • Damaged Actor를 플레이어 블루 프린트로 형변환 하고 플레이어가 죽은 상태가 아니라면 Apply Damage로 데미지를 가한다.
    • Damaged Actor 변수가 None 이라면 (Is Valid : False)
      • Take Damage 함수 Timer 를 없앤다. Clear Timer by Funcion Name이 블루프린트에서 실행 중이던 Timer by Funcion Name 가 있다면 이를 없앤다.
      • 더 이상 지속적으로 데미지를 가하지 않는다.

image

image

  • On Component Begin Overlap 장애물의 Collision 에 무언가가 겹치기 시작했을 때 발생하는 이벤트.
    • 겹친 액터의 태그가 PlayerHero 이고 겹친 컴포넌트의 태그가 Character 이라면 👉 Damaged Actor에 이 겹친 액터를 저장한다.
    • 플레이어 액터가 죽은 상태가 아니라면 데미지를 가하고 Set Timer by Function Name으로 1.3초 주기마다 반복적으로 Take Damage 함수를 실행시킨다.

image

  • On Component End Overlap 장애물의 Collision 에 겹치던 액터가 더 이상 겹치지 않고 빠져나갈 때 발생하는 이벤트
    • 겹친 액터의 태그가 PlayerHero 이고 겹친 컴포넌트의 태그가 Character 이라면 👉 Damaged Actor를 None 으로 세팅한다.
      • 아무것도 입력 값을 주지 않으면 None 으로 세팅된다.


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

UE4 Lesson 1 카테고리 내 다른 글 보러가기

댓글 남기기