언어:
페이지 정보
태그:
엔진 버전:
언리얼 엔진

4. 메인 메뉴 스크립트

언리얼 엔진

이제 소매를 걷어붙이고 메인 메뉴 함수성 스크립트를 짜 볼 차례입니다. 이번 단계가 끝나면 게임에 메인 메뉴를 띄워, 게임 시작은 물론 옵션 메뉴에서 해상도 변경도 가능할 것입니다.

  1. MainMenu 위젯 블루프린트를 열고 그래프 탭을 클릭합니다.

    Script1.png

  2. 내 블루프린트 창에서 PlayButton 을 클릭한 다음 디테일 패널에서 On Clicked (클릭시) 옆의 더하기 부호를 클릭합니다.

    Script2.png

    버튼을 클릭할 때마다 실행되는 노드를 그래프에 추가합니다.

  3. 각각의 버튼마다 On Clicked 이벤트를 추가합니다.

    Buttons.png

    명확성을 위해 메뉴 레이아웃과 비슷한 방식으로 그래프에 버튼을 배치했습니다.

  4. OnClicked(PlayButton) 을 끌어 (FirstPersonExampleMap 로 설정된) OpenLevel 노드와 Remove from Parent 노드를 추가합니다.

    PlayButton.png

    Level Name 은 로드하고자 하는 레벨 이름(여기서는 First Person Example 맵)을 나타내는 곳입니다. Remove from Parent 노드는 뷰포트에서 타깃 위젯 블루프린트를 제거합니다. 타깃은 셀프로 설정되어 있습니다 (레벨 로드 이후 뷰에서 제거하려는 메인 메뉴 위젯 블루프린트입니다).

  5. Ctrl 키를 누르고 MainMenuOptionsMenu 변수를 끌어 놓습니다.

  6. MainMenu 를 끌어놓고 Set Visibility 노드를 추가합니다. In Visibility 를 Hidden 으로 설정합니다.

  7. 또하나 끌어놓고 Set Visibility 노드를 추가합니다. Invisibility 를 Visible 로 설정합니다.

  8. 타깃을 OptionsMenu 변수에 붙입니다.

    OptionsButton.png

    옵션 버튼을 클릭하면 메인 메뉴를 끄고 옵션 메뉴를 켭니다.

  9. 각각의 Settings 버튼에서 Execute Console Command 노드를 추가합니다.

  10. 각각의 Commandr.setRes XxY 를 사용하여 X 와 Y 에 사용할 해상도 크기를 지정합니다.

    Resolution.png

    위에서 사용한 세팅은 다음과 같습니다: 640x480, 1280x720, 1920x1080.

  11. Return Button 에는 6 단계를 반복하되, 메인 메뉴를 보이고 옵션 메뉴를 숨기도록 세팅을 반대로 합니다.

    ReturnButton.png

  12. OnClicked (QuitButton) 에서 Execute Console Command 을 끌어놓고 Quit 명령을 설정합니다.

    QuitButton.png

  13. 컴파일, 저장 후 위젯 블루프린트를 닫습니다.

  14. 콘텐츠 브라우저 에서 Main 레벨을 연 다음 레벨 블루프린트 를 엽니다.

    OpenLevelBlueprint.png

  15. 그래프에 우클릭 한 다음 Event Begin Play 노드를 추가하고 Create Widget 을 연결 (ClassMain Menu 로 설정)합니다.

    EventBeginPlay.png

  16. Add to Viewport 노드를 연결하고 Get Player Controller 노드를 추가합니다.

  17. Get Player Controller 에서 True 로 설정된 Set Show Mouse Cursor 노드를 추가한 다음, 블루프린트를 컴파일 하고 닫습니다.

    FinishedLevel.png

  18. Content/FirstPersonBP/Blueprints 폴더의 First Person Character 블루프린트를 엽니다.

  19. Event Begin Play 스크립트 뒤에 Get Player Controller 이후 Set Input Mode Game Only 노드를 추가합니다.

    PlayerCharacterBlueprint.png

    커서를 끄고 플레이어 입력을 게임 전용으로 설정합니다.

  20. 컴파일 후 블루프린트를 닫고, 월드 세팅 을 엽니다.

    WorldSettings.png

  21. Game Mode 아래 GameMode OverrideFirstPersonGameMode 로 설정하고 Default Pawn ClassCharacter 로 변경합니다.

    Overrides.png

    이 맵의 게임 모드를 할당하고 플레이어의 캐릭터를 FirstPersonCharacter 블루프린트 내 엔진 디폴트 캐릭터를 사용하도록 변경합니다. 플레이어가 메인 메뉴 뒤에서 총쏘며 돌아다니지 않았으면 하기 때문입니다.

  22. 메인 툴바의 플레이 버튼을 클릭하고 에디터에서 플레이합니다. 해상도 옵션을 테스트하려면, 에디터에서 플레이 드롭다운 메뉴에서 새 에디터 창 을 선택합니다.

    위 그림을 클릭하면 비디오가 재생됩니다.

    플레이어가 게임 플레이 (지정된 레벨을 로드하여 플레이어를 게임플레이 상태로 전환), 해상도 변경, 게임 종료가 가능한 메인 메뉴를 만들었습니다.

다음 단계에서는 게임중 플레이어가 게임을 일시정지하거나 게임을 종료하거나 이 게임 메뉴로 돌아올 수 있는 일시정지 메뉴를 추가하겠습니다.