Unity3d Cursor.lockState在Unity和我的WebGL构建中的工作方式不同

Unity3d Cursor.lockState在Unity和我的WebGL构建中的工作方式不同,unity3d,unity-webgl,Unity3d,Unity Webgl,在UnityCursor.lockState=CursorLockMode.Locked中将光标移动到屏幕中心,隐藏光标并将其锁定。这非常有用,因为我正在使用FPScontroller,通过将十字线对准UI元素并投射光线,可以在3D空间中环顾四周并与它们交互 问题是,当我将项目上载到simmer.io时,浏览器中的项目会略有不同。在Cursor.lockState=CursorLockMode.none之间切换和锁定有效,除非光标锁定在当前位置——它永远不会移回屏幕中央,即我的十字线所在的位置。

在Unity
Cursor.lockState=CursorLockMode.Locked中将光标移动到屏幕中心,隐藏光标并将其锁定。这非常有用,因为我正在使用FPScontroller,通过将十字线对准UI元素并投射光线,可以在3D空间中环顾四周并与它们交互

问题是,当我将项目上载到simmer.io时,浏览器中的项目会略有不同。在
Cursor.lockState=CursorLockMode.none之间切换
锁定
有效,除非光标锁定在当前位置——它永远不会移回屏幕中央,即我的十字线所在的位置。一旦隐藏光标和十字线未对齐,我所有的mouseover和raycast命令都将停止工作


项目可以在这里找到,为感兴趣的。要测试错误行为,请使用选项卡切换暂停菜单

Simmer.io使用modifies
UnityPlayer.js
,其行为可能不同于标准Unity WebGL构建中的预期行为。请与他们联系以解决此问题。一般来说,Chrome的高级功能会有缺陷。

为什么需要光标完全居中?通常情况下,第一人称锁定状态游戏应该使用鼠标三角洲来控制十字线/摄像头。我想响应“OnMouseEnter”功能。回想起来,这是我唯一的理由。所以,如果我用另一种方式解决这个问题,我就可以摆脱这个问题。