问题标签 [pointerlock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
226 浏览

three.js - 使用非模块的 es6 类在 three.js 中合并指针锁定控制 API 很困难

正如标题所述,我使用的是 es6 类,但是因为除了 main.js 文件之外它们都不是模块,因此很难使用 API,因为我无法使用导入模块。

我使用了此链接答案中的代码:如何添加 Three.js PointerLockControl?并将代码粘贴到一个 js 文件中,在我的 HTML 中调用它,但我收到一条错误消息:

未捕获的 ReferenceError:PointerLockControls 未定义

当我引用它时,它并没有开始上课。我试图将它链接到 GitHub 原始代码,但它也没有找到它。

这是我的 index.html 代码(只有一行引用了 GitHub 原始代码):

这是我的场景管理器,它控制着整个场景。我刚刚测试了初始化,但失败了:

0 投票
1 回答
128 浏览

three.js - THREE.js 指针锁定控件不会在鼠标移动时移动相机

我试图在没有 div 的情况下遵循https://threejs.org/examples/misc_controls_pointerlock.html上的源代码,但它没有用。然后我尝试按照这里的代码https://sbcode.net/threejs/pointerlock-controls/但它也没有工作。

对于第一人称视图,我只是希望能够使用指针锁定控件环顾四周。之后我将能够理清控件的移动。

目前我有一个模型(mainChar),相机连接在他身上。我希望指针锁定控件以某种方式附加到他的位置。

这是我的代码不起作用:

0 投票
1 回答
251 浏览

javascript - 尝试使用 PointerLockControls、WASD 键和 Three.js

我希望我不是在问一个明显的菜鸟问题,但我注意到在 three.js 官方示例中,PointerLockControls.js 允许鼠标指针锁定和 WASD 键导航。

我已经设法让鼠标指针锁定,但我很难让 WASD 键做任何事情。

也许这不是我需要开始的 .js 脚本?

我对此仍然很陌生,但我觉得我的文件非常接近!任何帮助,将不胜感激。

这是我的代码

0 投票
0 回答
149 浏览

javascript - 使用 PointerLockControl 的三个 js 中的对象未跟随相机第一人称视图

这是我的第一个三个 js 第一人称视角游戏,当我转动相机时遇到问题,枪不跟随我正在看的相机旋转。

这是现场网站的链接:https : //geniussniper.github.io/Glory/ 按下 0 将显示相机旋转和枪位按下 y 可以控制环顾“asdw”以进行移动

这是我的代码

0 投票
1 回答
102 浏览

three.js - 鼠标光标上的中心指针锁定控件

问题

当光标锁定时,光标被设置到我点击的屏幕位置。但我想让我的光标在屏幕上居中。由于出于安全原因,这是不可能的,唯一可用的选项是将相机(可能带有lookAt)移向光标位置。

在我的示例中,我希望当光标被锁定时,屏幕中央的灰色小方块会引起悬停。这意味着光标正好在我相机的中心。

我想实现这一点的原因是因为我希望从屏幕中心执行点击,例如,如果我想触发相机前面的 3D 对象的点击。

我想知道指针锁控件是否可以这样做,如果可以,如何进行?

到目前为止我有什么

当时我刚刚尝试了pointerlockcontrols的基本实现,但无法弄清楚将光标放在所需位置的方法。

不幸的是,pointerlockcontrols 不适用于我的代码框示例。 不幸的是,代码沙箱不起作用

在此先感谢您的帮助。

0 投票
0 回答
42 浏览

reactjs - 如何仅在单击按钮时激活 PointerLockControls?

我正在使用“PointerLockControls”类,我希望能够在我的菜单中禁用鼠标锁定。我想要锁定鼠标的唯一方法是按下按钮。与此处所做的类似:

https://classic.minecraft.net/

目前,无论我在画布上的哪个位置单击,它都会激活指针锁定。

我尝试编写以下代码,其中“就绪”仅在我们按下按钮时为真。这似乎有效。但是,即使 ready 为 false,它也可以锁定。我强硬 .connect()/.disconnect() 将允许停用锁。我还尝试在整个画布前放置一个 div 以避免单击画布,理论上这也应该有效。但我找不到避免点击通过 div 的方法。