ShovelingLife
A Game Programmer
ShovelingLife
전체 방문자
오늘
어제
  • 분류 전체보기 (1067)
    • 그래픽스 (57)
      • 공통 (19)
      • 수학 물리 (22)
      • OpenGL & Vulkan (1)
      • DirectX (14)
    • 게임엔진 (180)
      • Unreal (69)
      • Unity (100)
      • Cocos2D-X (3)
      • 개인 플젝 (8)
    • 코딩테스트 (221)
      • 공통 (7)
      • 프로그래머스 (22)
      • 백준 (162)
      • LeetCode (19)
      • HackerRank (2)
      • 코딩테스트 알고리즘 (8)
    • CS (235)
      • 공통 (21)
      • 네트워크 (44)
      • OS & 하드웨어 (55)
      • 자료구조 & 알고리즘 (98)
      • 디자인패턴 (6)
      • UML (4)
      • 데이터베이스 (7)
    • 프로그래밍 언어 (346)
      • C++ (167)
      • C# (88)
      • Java (9)
      • Python (33)
      • SQL (30)
      • JavaScript (8)
      • React (7)
    • 그 외 (9)
      • Math (5)
      • 일상 (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Source Code 좌측 상단에 복사 버튼 추가 완료
  • 언리얼 엔진 C++ 빌드시간 단축 꿀팁
  • 게임 업계 코딩테스트 관련
  • 1인칭 시점으로 써내려가는 글들

인기 글

태그

  • 알고리즘
  • 함수
  • C++
  • 문자열
  • 프로그래머스
  • Unity
  • 클래스
  • string
  • c#
  • 파이썬
  • C
  • 오블완
  • 배열
  • 티스토리챌린지
  • 백준
  • SQL
  • 언리얼
  • 유니티
  • 그래픽스
  • 포인터

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ShovelingLife

A Game Programmer

[Unreal] 플레이 누른 직후 또는 인벤토리 열 때 인게임 모드 설정
게임엔진/Unreal

[Unreal] 플레이 누른 직후 또는 인벤토리 열 때 인게임 모드 설정

2022. 9. 3. 15:41

플레이를 누르면 마우스 커서가 보이고 입력을 받질 않는다 따라서 입력을 받으려면 한번 클릭해줘야 한다, 언리얼 엔진의 기본 세팅은 GameAndUIEx이다 이건 UWidgetBlueprintLibrary 클래스 내에 static 함수를 사용하여 설정할 수가 있다.

각각 함수들의 용도는 다음과 같다.

  • GameAndUIEx : UI만 사용자의 입력을 받게끔 한다 만약에 못받는다면 플레이어 컨트롤러가 받게 된다.
  • GameOnly : 게임 컨트롤러만 입력받게끔 한다 (플레이 직후 마우스가 인게임으로 들어가며 커서 또한 사라진다).
  • UIOnlyEx : UI만 입력받게끔 한다 (인벤토리 열고 닫을 때 플레이어 회전이라던지 막는 용도).

시작 직후 인게임 모드를 입력만 받게끔 사용한다.

if (auto p_World = GetWorld())
    UWidgetBlueprintLibrary::SetInputMode_GameOnly(p_World->GetFirstPlayerController());

인벤토리를 열을 때의 경우다 커서를 다시 보이게끔 하고 뷰포트에서만 사용되게끔 막는다. 그게 EMouseLockMode의 역할이다. UI일 경우에만 UUserWidget에 대한 포인터를 넘긴다.

auto p_playerController = UGameplayStatics::GetPlayerController(GetWorld(), 0);
p_playerController->SetShowMouseCursor(true);    
UWidgetBlueprintLibrary::SetInputMode_GameAndUIEx(p_playerController, pInventoryUI, EMouseLockMode::LockAlways);

참고 : https://docs.unrealengine.com/4.27/en-US/API/Runtime/UMG/Blueprint/UWidgetBlueprintLibrary/

참고 : https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Engine/EMouseLockMode/

저작자표시 (새창열림)

'게임엔진 > Unreal' 카테고리의 다른 글

[Unreal] UI 마우스 관한 동작 이벤트 설정방법  (0) 2022.09.08
[Unreal] 화면 정중앙 값 구하기  (0) 2022.09.07
[Unreal] UI를 뷰포트 위치로 치환 및 이동하는 방법 (UI를 마우스의 위치로 또는 반대)  (0) 2022.09.02
[Unreal] Static Mesh (스태틱 메쉬) 그림자 끄는/키는 방법 C++  (0) 2022.08.23
[Unreal] 사용자 정의 컴포넌트 (UActorComponent)  (0) 2022.08.22
    '게임엔진/Unreal' 카테고리의 다른 글
    • [Unreal] UI 마우스 관한 동작 이벤트 설정방법
    • [Unreal] 화면 정중앙 값 구하기
    • [Unreal] UI를 뷰포트 위치로 치환 및 이동하는 방법 (UI를 마우스의 위치로 또는 반대)
    • [Unreal] Static Mesh (스태틱 메쉬) 그림자 끄는/키는 방법 C++
    ShovelingLife
    ShovelingLife
    Main skill stack => Unity C# / Unreal C++ Studying Front / BackEnd, Java Python

    티스토리툴바