본문 바로가기

블루프린팅/8. 제약조건및 게임플레이 목표

(6)          글쓰기    
[08목표생성] 승리 트리거 목표 타깃을 달성하기 충분한 실린더 타깃을 파괴하면 게임 종료 이벤트를 발생 시킨다. BP_FirstPersonCharacter 블루프린트에 CheckGoal이라는 커스텀 이벤트를 생성할 것이다. 이 이벤트는 타깃이 파괴될때 마다 BP_CylinderTarget에 의해 호출된다. 1. BP_FirstPersonCharacter 블루프린터를 연다. 이벤트그래프 바닥에 커스텀이벤트를 추가하고 이름을 CheckGoal로 변경한다. 2. CheckGoal 노드의 흰색출력핀을 끌어 Bandch노드를 추가한다. 3. Branch노드의 Condition 입력핀에서 와이어를 빈그리드 공간으로 끌어 크거나 같음 노드를 추가한다. > 로 검색하면 쉽게 찾을수 있다 4. >= 상단입력핀을 끌어 GET Targets Goal..
[08.목표생성] WinMenu 표시 HUD위젯 블루프린트에서 했던 것처럼 BP_FirstPersonCharacter블루프린트에서 WinMenu를 표시한다. 게임이 종료될때 호출하는 EndGame이라는 커스텀 이벤트를 만든다. 1. FirstPerson>Blueprint>BP_FristPersonCharacter 블루프린트를 연다. 2. 이벤트그래프에서 우클릭 커스텀이벤트 노드를 추가한다. 이름을 EndGame으로 변경한다. 3. EndGame출력핀에서 SetGamePaused노드를 추가한다. Paused 체크박스를 선택한다. 이 노드는 플레이어가 WinMenu에서 옵션을 선택하는 동안 게임을 일시 중단해준다. 4. 바닥에 우클릭후 GetPlayerController노드를 추가한다. Return Value출력핀을 끌어 SET ShowMous..
[08.목표설정] 승리 메뉴 화면 만들기 게임에서 승리한 후 플레이어에게 피드백을 제공하기 위한 필요한 수의 타깃을 파괴할 때 표시되는 승리 메뉴 화면을 만들 것이다. 승리 메뉴를 만들려면 HUD용으로 만든 것과 비슷한 다른 위젯 블루프린트가 필요하다. 1. 콘텐츠 브라우저에서 콘텐츠>FirstPerson>UI폴더에 접근한 우클릭 컨텍스트메뉴에서 유저인터페이스>위젯블루프린트를 만들고 이름을 WinMenu로 한다. 2. 블루프린트를 열어 UMG에디터를 연다. 3.Palette>PANEL>Canvas Panel을 끌어 하이라키에 놓는다. 3.Palette>COMMON>Text 개체를 계층구조 패널의 캔버스 패널 개체로 드래그한다. 디테일 패널에서 이름을 WinMsg로 변경하고 앵커드롭다운을 클릭한 다음 화면 중앙에 앵커가 있는 옵션을 선택한다. 4..
[CH08목표생성] 게임플레이 승리 조건 세팅 HUD에 목표 타깃 표시하기 1. 컨텐트드로워>>블루프린트폴더>BP_FirstPersonCharacter블루프린트를 열어 내 2. 블루프린트 패널의 변수+를 누른다음 이름을 TargetGoal로 지정 변수 타입을 인티저로 한다 3. 컴파일후 디테일패널에서 디폴트값을 2로 세팅후 다시 컴파일, 저장후 에디터를 닫는다. 4. 컨텐트드로워>>UI>HUD블루프린트를 연다. 5. 팔레트>COMMON>Text를 끌어 하이라키의 [GoalTracker]위로 놓는다. 하나더 끌어다 놓는다 6. 첫번째 Text를 선택하고 디테일에서 다음과 같이 [Slash]"/" 폰트사이즈:32로 변경한다. 7. 두번째 Text를 선택하고 디테일에서 다음과 같이 [TargetGoal"0" 폰트사이즈:32로 변경한다. 8. 가운데 디자이..
[CH08.제약조건] 수집가능한 개체 만들기 걷는 속도와 달리는 속도 2가지가 있지만 만일 총알이 떨어지면 게임이 불가능하므로 과도한 제약이 된다. 따라서 플레이어가 레벨을 탐색해서 탄약을 다시 얻을수 있도록 수집가능한 탄약 픽업을 만들 것이다. BP_AmmoPickup 블루프린트 생성 1. Blueprint폴더에서 추가버튼을 클릭하고 블루프린트 클래스를 선택후 부모클래스를 Actor로 선택하고 이름을 BP_AmmoPickp으로 지정한다. 2. 컴포넌트패널에서 추가 버튼을 클릭하고 스태틱 메시 컴포넌트를 선택한다.이름을 SM_Pipe로 변경, 디테일 패널에서 Shape_Pipe 스태틱 메시를 선택하고 머터리얼에서 엘리먼트 0으로 이동해서 M_Door를 선택한다. 다음 스크린샷과 같이 스케일 속성의 X,Y,Z값을 0.5로 변경한다. 3. 스태틱메시의..
[CH08] 제약조건및 게임플레이 목표 생성 이장에서 다음의 처리를 공부한다. 플레이어가 질주 하는동안 스테미너를 감소시키고 플레이어가 질주하지 않을 때 스태미너를 재생 탄약이 떨어지면 플레이어의 총이 발사되는 것을 방지 플레이어가 탄약을 회복할 수 있도록 탄약 픽업 생성 타깃 제거 숫자를 기준으로 승리 조건을 정의 플레이어가 승리시 게임을 다시 하거나 종료할 수 있는 메뉴 생성 >>플레이어 액션 제한 SHIFT키를 누르면 플레이어의 이동 속도를 빠르게 했었는데 그러면 항상 그 기능을 사용하게 된다. 따라서 적당한 제한을 두어야 한다. 스태미너 소모및 재생 이동속도향상기능의 제한을 위해 몇가지 변수를 만들고 사용시 체력을 소모하고 사용하지 않을 경우 체력을 재충전하는 커스텀 이벤트를 만들 것이다. 또한 스크립트를 구성하기 위해 다른 변수와 매트로를..