본문 바로가기

개발 일지

2020.02.20 54일차 개발일지 - 언리얼실습3

언리얼 실습

 

* FTS 만들기

 

1. 먼저 뷰옵션에서 개발자 콘텐츠, 엔진 콘텐츠 표시

 

 

2. 신규추가 - 피처또는 콘텐츠 팩 추가 - 블루프린트 피처 - 일인칭-프로젝트 추가

 

 

3. 장전 기능을 추가하기 위해 세팅 - 프로젝트세팅 - 엔진 > 입력으로 들어가 장전에 사용할 키를 추가 설정해준다.

 

 

4. 콘텐츠 브라우저에서 엔진콘텐츠 - 엔진메쉬 - 실린더를 복사하여 콘테츠브라우저 최상위에 붙여넣기

 

5. 파괴 효과 편집-플로그인- APEX Destruction 활성화하고 재시작한다.

6. 창이 다시 열리면 파괴되길 원하는 객체(실린더)를 우클릭하고 디스트럭터블 메시 생성을 클릭한다.

 

(실린더는 물리효과 체크가 되어있는지 확인할 것.)

 

7. 부서지는 파편 수 설정 후 상단의 트리거 메시를 클릭한다.

 

8. 액터 블루프린트를 만들고 디스트럭터블 메시로 만든 실린더DM과 ProjectileMovement 컴퍼넌트 추가한다.

 

 

9. 이벤트그래프에서 플로트 변수 Lifespan을 만들고 Set 변수를 이용 다음과 같이 연결한다.

 

 

10. 블루프린트 - 게임모드 편집으로 들어간다.

 

11. 다음과 같은 노드를 연결한다. 이때 변수는 게임 중임을 알릴 isgaming(boolean) 흘러갈 시간 timepass, 최대시간 timestop(플루트)을 만들었다.

 

 

12. 키 입력시 캐릭터의 반응과 장전하는 딜레이를 걸기 위해 게임모드편집에서 캐릭터 편집 파트로 이동한다.

13. 이벤트 그래프로 가서 장전 키 입력시 반응을 위한 노드를 만들어 준다.

 

14. 총을 쏘다가 총알이 부족하면 총을 발사할 수 없도록 다음과 같은 노드를 추가하였다.

 

15. 오브젝트가 파괴되는 효과를 위해 Deal with Impact 부분도 수정하였다. 

 

(왼쪽 노드 연결선은 Break Hit Result의 Hit Component에 연결된다.) 

16. UI를 표시하고자 콘텐츠 브라우저에서 위젯 플루프린트를 추가한다. (오른쪽 끝이 위젯 블루프린트)

17. UI를 꾸민다. 이때 Cavas Panel가 없으면 텍스트가 박스로 들어가버리고 텍스트 추가가 되지 않으니 주의하자. 

 

18. Time과 Bullet, Reloading을 추가 했다. 이때 변수인지 체크를 해두면 텍스트를 변수로 활용할 수 있다.

19. 만든 UI가 화면에 보이도록하기 위해 블루프린트 - 게임모드 편집으로 돌아가 다음과 같은 노드를 연결한다.

 

 

20. 위젯 블루프린트로 돌아가서

Time은 남은시간이 표시되도록(첫줄),

Bullet은 탄환수/총탄환수를 표시(둘째 줄)

장전시 Reloading 표시(셋째 줄)

를 위해 다음과 같은 노드를 연결하였다. 

 

21. 확인