gpt4 book ai didi

javascript - 如何使用 WebVR 使 THREE.Mesh 看起来立体?

转载 作者:行者123 更新时间:2023-11-29 19:16:34 31 4
gpt4 key购买 nike

我正在努力将现有的 three.js 项目移植到 WebVR + Oculus Rift。基本上,这个应用程序将一个 STL 文件作为输入,创建一个基于它的 THREE.Mesh 并在一个空场景上渲染它。我设法使用 three.js 和 VRControls 的 VREffect 插件使其在 Firefox Nightly 中运行。我遇到的一个问题是在 VR 中渲染的模型并不是真正的 3D。也就是说,当我来回移动 HMD 时,事件的 3D 模型不会靠近/远离,而且我看不到模型的不同侧面。看起来该模型是固定在其位置上的平坦背景图像。如果我将 THREE.AxisHelper 添加到场景中,它会在 HMD 移动时正确转换。

最初,应用程序中使用了 THREE.OrbitControls 并且模型已正确旋转和移动。

有相当多的源代码,所以我会根据需要发布一些片段。

最佳答案

事实证明,技术上没有问题。问题本质上是我的模型和 Oculus 运动的不同比例。当 VRControls 使用默认设置时,它会报告从 Oculus 读取的 HMD 的位置(以米为单位)。因此,我的头部运动范围几乎不会超过 1 米,而我的模型的平均尺寸大约是它们自己的几十个单位。当我在同一个场景中同时使用它们时,就好像观众是一只 Ant 在看着一个巨大的模型。自然地, Ant 必须走一段时间才能看到模型的另一面。这就是为什么它看起来不像一个 3D 体。

幸运的是,VRControls 有一个scale 属性,应该用于调整 HMD 运动的比例。当我将它设置为大约 30 时,一切都运行良好。

感谢@brianpeiris的评论,我决定再次检查模型和相机的坐标,以确保它们没有相互交织。而且,它引导我找到了解决方案。

关于javascript - 如何使用 WebVR 使 THREE.Mesh 看起来立体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912722/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com