如何在“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 中开始新的活动?