Cursor locking (using Cursor.lockState) and full-screen mode (using Screen.fullScreen) are both supported in Unity WebGL, implemented using the respective HTML5 APIs (Element.requestPointerLock and Element.requestFullscreen). These are supported in Firefox and Chrome. Safari can’t currently use full-screen and cursor locking.
보안 문제로 인해 브라우저에서는 마우스 클릭이나 키 누르기와 같이 사용자가 시작한 이벤트에 직접 반응하는 경우에만 커서를 잠그거나 전체화면 모드로 전환할 수 있습니다.Unity에는 별도의 이벤트와 렌더링 루프가 없기 때문에 브라우저가 Unity 스크립팅에서 발생한 전체화면 또는 커서 잠금 요청을 트리거한 이벤트에 대한 직접적인 리스폰스로 더 이상 인식하지 않을 때까지 이벤트 처리를 지연합니다.그 결과 Unity는 커서 잠금 또는 전체화면 요청을 트리거한 이벤트가 아닌 다음 사용자 시작 이벤트의 요청을 트리거합니다.
이러한 제약에도 불구하고 올바른 결과를 얻으려면 커서 잠금이나 전체화면 요청을 마우스나 키 누름 해제 이벤트가 아니라 누름 이벤트에서 트리거해야 합니다.이렇게 하면 해당 요청이 다음 사용자가 시작한 이벤트 시점까지 연기되더라도 사용자가 마우스나 키에서 손가락을 뗄 때 요청을 트리거할 수 있게 됩니다.
Unity의 UI.Button 컴포넌트를 사용하면 OnPointerDown
메서드를 오버라이드하는 Button
의 서브클래스를 만들어 원하는 동작을 구현할 수 있습니다.
브라우저는 전체화면 모드로 전환하거나 커서를 잠그기 전에 알림 메시지를 표시하거나 사용자에게 권한을 요청하는 프롬프트를 표시할 수 있습니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.