티스토리 뷰
- 이전에 제작했던 플레잉 사격

1. 게임모드 만들기
1) 1인칭 게임모드 블루프린트 열기


2) IsGaming? 변수 추가

3) 커스텀이벤트 2개 추가해서 변수를 Set과 연결 해주기


4) 종료 조건을 만들어주기 → 제한시간 15초가 지나면 게임이 끝난다
- 변수는 2개(현재시간 / 종료시간)가 필요
- 두 변수를 비교 (현재시간 > 종료시간 = 게임 종료)
- 현재 시간을 실제로 증가시켜야 함
4-1) 시간이 지나는 변수와 끝나는 시간을 계산하는 변수를 추가해준다
TimePass값은 0
EndTime값은 10

4-2) Branch노드를 GameStop 노드에 연결
(만약 게임 중 이라면)


4-3) Branch노드 한개 더 추가해주기

4-4) 현재시간과 종료시간을 비교하는 노드(Float>=Float)를 만들어 주고 연결

4-5) Branch를 Game Stop 함수 호출 해줘서 연결해주기
(현재시간 >= 종료시간 이라면 게임을 멈춰라)


4-6) 앞부분을 Tick 이벤트로 바꿔주고 Time Pass 변수를 get으로 가져와 +로 연결해주기
Game Stop은 IsGaming을 Set으로 가져와 연결
(화면에 보이게 만들기 위해서 매 프레임마다 보여지는 Tick 이벤트에 시간의 흐름을 주는 현재시간을 더해준것)


4-7) 더해준것에 Time Pass노드를 Set으로 가져와 연결하고 False에도 연결해주기
(만약 게임 중 인데 현재시간 >= 종료시간이 아니라면 현재시간을 불러와라)

4-8) 화면에 시간이 흐르는것을 확인 할 수 있게 중간에 Print String 넣어주기
(불러온 현제 시간을 보여줘라)

5) 게임이 끝나면 의자가 더 이상 생성되지 않도록 하기 위해 의자의 블루프린트 안에 들어가기

5-1) 게임모드의 변수를 가져다 쓸 수 있게 FirstPersonGameMode의 형변환 노드 추가

5-2) 형변환 노드에 Branch 노드 추가

5-3) 게임모드를 object에 넣어주고 Is Gaming변수를 get으로 가져와 연결
(만약 아직 게임중 이라면 의자가 생성되어라)

2. UI
1) 위젯 블루프린트 형성


2) 텍스트 추가해주기

3) 변수로 쓰기 위해 변수인지 해주기

4) 이벤트 그래프로 넘어가주기
(Tick을 사용할 것)

5) 시간 변수를 사용하기 위해 FirstPerson Game Mode 형변환 해주기


6) 현재시간과 끝나는 시간 변수를 get으로 가져와 연결

7) 형변환에 set text 노드 연결 후 Time text 변수를 get으로 가져와 연결


8) 각 시간 변수들을 뺀 값이 남은 시간의 값이기 때문에 float-float 노드로 변수들을 빼주고 노드 연결

9) 게임이 시작하면 뷰포트에 widget이 보여야 하기 때문에
게임모드 블루프린트에서 BeginPlay 이벤트 노드 형성후 위젯 생성 노드 만들어 연결 해주기


10) 총알 탄수를 화면에 보이게 하기 위해서는 총알 탄수의 변수가 있는 1인칭 캐릭터 블루프린트에 형변환을 해줘야 하는데 Tick이벤트에서는 1개의 형변환과 연결이 되므로 여러개를 연결할 수 있게 해주는 시퀀스 노드 연결


11) 1인칭 캐릭터 블루프린트를 형변환 해서 노드 연결 해주기

12) 탄환 수와 관련된 변수 get으로 가져와 연결

13) 포맷텍스트 연결
포맷 텍스트 : 변수를 나눠서 화면에 표시할 수 있음
각 변수들은 {}로 구분함


14) Ammo 택스트 변수를 get으로 가져온 뒤 set text로 위와 동일 하게 연결

15) 장전 중이라는 텍스트는 평소엔 보이면 안되므로 visiblity를 Hidden으로 바꿔주기

16) 장전 중일 때 보이게 만드는 노드
(만약 장전중 이라면 보이게 해주고 아니라면 숨겨줘라)

'Unreal Engine' 카테고리의 다른 글
| 언리얼엔진_실외라이팅 (0) | 2021.06.08 |
|---|---|
| 언리얼엔진_깃허브 (0) | 2021.06.03 |
| 언리얼엔진_시퀀스 (0) | 2021.06.02 |
| 언리얼엔진_인테리어 라이팅 (0) | 2021.06.01 |
| 언리얼엔진_게임제작1 (클레이 사격) (0) | 2021.05.31 |