마우스 이동 처리 - Amazon GameLift Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

마우스 이동 처리

마우스 이동 처리는 스트리밍된 애플리케이션에서 응답성이 뛰어나고 직관적인 사용자 경험을 제공하는 데 매우 중요합니다. Amazon GameLift Streams는 애플리케이션의 커서 동작에 따라 마우스 입력 전송을 자동으로 최적화하여 커서가 숨겨져 있든 보이지 않든 마우스 움직임이 자연스럽게 느껴지도록 합니다. Amazon GameLift Streams가 마우스 이벤트를 처리하는 방법을 이해하면 스트리밍 서비스와 원활하게 작동하고 최상의 사용자 경험을 제공하는 애플리케이션을 설계하는 데 도움이 됩니다.

마우스 입력 모드

Amazon GameLift Streams는 마우스 이벤트를 애플리케이션에 전송하기 위해 두 가지 고유한 모드를 사용하며, 커서 가시성에 따라 적절한 모드를 자동으로 선택합니다.

상대 모드

상대 모드에서 마우스 업데이트는 이전 위치와의 작은 증분 차이로 전송됩니다. 이 모드는 3D 방향을 사용하는 1인칭 슈팅 게임(FPS) 또는 인터페이스와 같이 정확하고 지속적인 마우스 움직임 추적이 필요한 애플리케이션에 적합합니다. Amazon GameLift Streams는 운영 체제 커서가 숨겨지거나 완전히 투명한 경우 상대 모드를 사용합니다.

절대 모드

절대 모드에서 마우스 커서 위치는 정확한 화면 좌표로 전송됩니다. 이 모드는 point-and-click 게임 또는 클릭 가능한 요소가 있는 UI와 같이 정확한 커서 위치 지정에 의존하는 애플리케이션에 적합합니다. Amazon GameLift Streams는 애플리케이션에 사용자 지정 커서 이미지가 표시되더라도 운영 체제 커서가 표시될 때 절대 모드를 사용합니다.

이 자동 선택은 수동 구성 없이도 다양한 애플리케이션 유형에 최적의 성능을 보장합니다.

포인터 잠금

포인터 잠금은 특정 요소 내에서 마우스 커서를 캡처하여 커서를 숨기고 지정된 영역을 벗어나지 못하게 하는 웹 API 기능입니다. 이 기능은 눈에 보이는 커서의 방해나 창 가장자리 도달 제한 없이 카메라 제어 또는 조준을 위해 무제한 마우스 이동이 필요한 게임에 특히 유용합니다.

Amazon GameLift Streams는 웹 SDK InputConfiguration 인터페이스의 autoPointerLock 속성을 통해 자동 포인터 잠금 기능을 제공합니다. 이 기능은 requestPointerLock API와 통합되어 직관적이고 컨텍스트를 인식하는 마우스 캡처를 제공합니다.

자동 포인터 잠금 동작

Amazon GameLift Streams는 애플리케이션이 전체 화면이고 스트림 호스트에서 원격 커서가 보이지 않을 때 포인터 잠금을 자동으로 활성화합니다. 이 동작은 일반적인 게임 개발 패턴과 잘 일치합니다.

  • FPS/TPS 게임 및 3D 방향 제어 - 포인터가 자동으로 잠기고 커서가 숨겨져 FPS 게임 플레이에 필수적인 무제한 카메라 제어를 제공합니다.

  • Point-and-click 게임 및 UI 제어 - 게임에서 메뉴 상호 작용 또는 전략 게임 플레이에 커서를 표시하면 포인터가 계속 표시되고 잠금 해제되어 의도한 사용자 경험을 유지합니다.

구성 옵션

autoPointerLock 속성은 다음 값을 허용합니다.

true

마우스는 원격 커서가 보이지 않을 때 항상 캡처됩니다.

false

마우스는 커서 가시성에 관계없이 캡처되지 않습니다.

'fullscreen'(기본값)

마우스는 비디오 요소가 전체 화면 모드이고 원격 커서가 보이지 않는 경우에만 캡처됩니다.

중요

autoPointerLock는 플랫폼 제한으로 인해 Safari 브라우저 또는 iOS 플랫폼에 영향을 주지 않습니다.

모범 사례

스트리밍된 애플리케이션에서 최적의 마우스 처리를 보장하려면:

  • 항상 전체 화면 스트리밍 - 서비스에서 제대로 작동하려면 애플리케이션이 이미 전체 화면 모드로 실행 중이어야 합니다. 또한 브라우저 지원을 사용하여 스트림을 최상의 최종 사용자 경험을 위한 전체 화면 요소로 만드는 것이 좋습니다. 이렇게 하면 시스템 커서와 소프트웨어 커서 간의 정렬 문제와 같은 문제를 방지하는 데 도움이 됩니다.

  • 상대 모션에 대한 커서 숨기기 - 애플리케이션에서 상대 마우스 모션(예: FPS 스타일 카메라 제어 또는 드래그 기반 상호 작용)이 필요한 경우 이러한 상호 작용 중에 운영 체제 커서를 숨깁니다. 일부 시나리오에서는 마우스 아래로 커서를 숨기고 마우스 위로 커서를 다시 표시해야 할 수 있습니다.

  • 절대 위치 지정을 위한 커서 표시 - 애플리케이션에 UI 상호 작용을 위한 정확한 커서 위치가 필요한 경우 절대 좌표 모드를 활성화하기 위해 운영 체제 커서가 계속 표시되는지 확인합니다.

  • 다양한 입력 시나리오 테스트 - Amazon GameLift Streams가 커서 가시성 변경에 따라 모드 간에 전환할 수 있으므로 애플리케이션이 상대적 마우스 모드와 절대 마우스 모드를 모두 올바르게 처리하는지 확인합니다.

  • 다양한 창 모드 테스트 - 해당하는 경우 창 모드와 전체 화면 모드 모두에서 애플리케이션의 마우스 처리를 테스트합니다. 입력 구성에 가장 적합한 autoPointerLock 설정을 결정합니다.