2017-03-03 116 views
0

我想从我的主要相机(这是steamvr的"Camera (eye)")我的鼠标点在空间,所以我可以选择在我的3D环境中的对象的raycast。问题是我的raycast没有指向在我的鼠标,并可能是45+度了。我将发布屏幕截图,所以你可以看到我的鼠标位置和raycast位置。任何人有这个问题,或者解决的办法?我敢肯定的是一个steamvr特定问题。SteamVR和绘制射线到鼠标

Link to similar question (not answered yet)

这里是我的代码:

Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); 
RaycastHit hit; 
Debug.DrawRay(ray.origin, ray.direction * 100, Color.red); 
if (Physics.Raycast(ray, out hit)) 
{ 
    Debug.Log("Mouse is over: " + hit.collider.name); 
} 

屏幕截图(鼠标在中间十字线以上)enter image description here enter image description here

+1

我看到你的场景中有几个'GameObjects'名字为“Camera”。你有多台带有“MainCamera”标签的相机吗?您应该只有一个,如果你打算使用'Camera.main'为将返回其与标签 – Foggzie

+0

没有发现我只有一个mainCamera第一个,我引用的摄像头组件特别以及时已经得到了这个问题。 – OT2O

回答

0

不知道是什么问题(提供更多细节),但您的代码段对我工作的罚款(我测试它。没有vive但蒸汽相机钻机预制)。下面是我的场景

​​

记住,你必须先点击游戏视图以查看射线的方向是正确的咬合。

+0

感谢您的回复。我刚刚设置了一个新场景,仍然遇到同样的问题。我发现其他人在网上遇到同样的问题。我不确定外面的场景会有什么不同。一旦场景播放,你的相机设置是什么? – OT2O

+0

没有什么特别的只是默认蒸汽VR相机钻机 –

+0

你一个以上的主摄像头? –