如何在“webgl_interactive_cubes”示例中使用“OculusRiftEffect.js”

Posted

技术标签:

【中文标题】如何在“webgl_interactive_cubes”示例中使用“OculusRiftEffect.js”【英文标题】:How to use "OculusRiftEffect.js" on the "webgl_interactive_cubes" examples 【发布时间】:2013-05-23 19:11:49 【问题描述】:

当我第一次在mrdoob/three.js · GitHub 网站上看到这个例子(webgl_geometry_minecraft_oculusrift)时,我非常兴奋。毫无疑问,它非常棒!

但我很好奇,如何将这种效果应用于其他示例?所以我尝试在“webgl_interactive_cubes”中实现这个效果。但是,实验结果比预期的要差。

我的问题是我无法准确地将光标对准特定的立方体以使其改变颜色,似乎是投影功能的问题?然后我调整了屏幕宽度系数,像这样

window.innerWidth * 2

在整个程序中。但是还是不能改善这个问题。

总结我的问题:

    如果我想在任何示例上应用Oculus Rift 效果,我应该怎么做?顺便说一句,我只添加了以下代码

            effect = new THREE.OculusRiftEffect( renderer );
            effect.setSize( window.innerWidth, window.innerHeight );
    
            // Right Oculus Parameters are yet to be determined
            effect.separation = 20;
            effect.distortion = 0.1;
            effect.fov = 110;
    

    在初始化块init(); 中,最后在render(); 中添加effect.render( scene, camera );

    我很想知道怎么做

    var vector = new THREE.Vector3( mouse.x, mouse.y, 1 ); projector.unprojectVector( vector, camera );

    有效。为什么需要传递参数1?如果我将mouse.x 更改为mouse.x * 2 会怎样

    需要使用双显示器才能完全呈现这种效果?

注意:我的英文不是很好,如果我描述的不清楚,请提出您的疑问,我会尽快回复。

这是我的演示链接:

    http://goo.gl/VCKyP

    http://goo.gl/xuIhr

    http://goo.gl/WjqC0

我的文件夹:https://googledrive.com/host/0B7yrjtQvNRwoYVQtMUc4M1ZZakk/

【问题讨论】:

你能分享一个调整后的 webgl_interactive_cubes 的链接吗? 我要在文章底部补上链接地址 【参考方案1】:

第三个是你的例子吧?

这可以帮助您更轻松地使用 OR-Effect: https://github.com/carstenschwede/RiftThree

您的示例都可以正常工作,只是第三个示例必须与控件有关。如果我从 Stats-DIV (FPS) 中拖动移动,它会起作用。

【讨论】:

以上是关于如何在“webgl_interactive_cubes”示例中使用“OculusRiftEffect.js”的主要内容,如果未能解决你的问题,请参考以下文章

如何在表单提交后保留文本(如何在提交后不删除自身?)

如何在异步任务中调用意图?或者如何在 onPostExecute 中开始新的活动?

在 Avkit 中如何使用这三行代码,以及如何将音乐静音”

如何在 JDBC 中启动事务?

如何在 Fragment 中调用 OnActivityResult 以及它是如何工作的?

如何使用 Firebase 在 Web 上托管 Flutter?它的效果如何?