在WebVR模式下同步渲染鼠标(WebGL)和指针锁定坐标

时间:2015-04-11 11:13:45

标签: webgl pointerlock webvr

我正在尝试将我的渲染鼠标与pointer lock坐标同步。指针锁隐藏了鼠标光标,因此我需要单独绘制它。我有一个带有原始鼠标指针的3D场景。我使用billboarding将鼠标光标绘制在(0,0,-1)处,因此它看起来像这个3D空间中的2D对象,很不错。

Lookie lookie

到目前为止一切顺利。为了计算基于指针锁的x和y坐标,我使用:

var movementX = e.movementX || e.mozMovementX || e.webkitMovementX || 0;
var movementY = e.movementY || e.mozMovementY || e.webkitMovementY || 0;
x += movementX;
y += movementY;

第一个问题是,我不知道我最初如何设置x和y坐标。进入VR模式时,光标设置为(0,0,-1),因此必须在2D空间中同步。因为两只眼睛,我认为它的宽度/宽度/宽度/宽度为4,但这并不起作用。另外,我需要一个正确的渲染加速因子,因为鼠标太快了。我估计还有宽度的东西。

1 个答案:

答案 0 :(得分:1)

鼠标事件以像素为单位返回x和y值。如果将它们直接应用到渲染光标的位置,它们可能会立即将光标移出屏幕。您可能只需要将像素单位缩小某个因子,例如x += movementX / 100或其他因素。