我目前使用的是unity和Oculus rift,它运行一个OVRCameraRig和一个附加到CenterEyeAnchor上的脚本。此脚本使用以下代码。
GameObject dot;
void Start () {
dot = GameObject.CreatePrimitive(PrimitiveType.Sphere);
dot.GetComponent<Renderer>().material.color = Color.red;
dot.layer = 2;
dot.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f);
}
void Update () {
RaycastHit hit;
if (Physics.Raycast(transform.position, Vector3.forward, out hit, 80.0f))
{
dot.transform.position = hit.point;
}
else
{
dot.transform.position = transform.forward * 80 + transform.position;
}
}当我在没有插入裂缝耳机的情况下运行以下代码时,RayCast与所有对象发生碰撞(同时在场景中移动OVRCameraRig ),但是如果我在插入裂缝的情况下重新启动程序,光线投射将穿过所有对象,从而将球移动到离你80个单位远的地方。我想知道为什么我插上耳机后RayCasts的行为会改变,是否有办法阻止这种情况。
编辑:当调试以下代码时,似乎当裂缝连接时,光线投射总是无法命中所有对象
发布于 2017-02-01 03:59:11
在光线广播中使用Vector3.forward而不是transform.forward是一个简单的错误类型
https://stackoverflow.com/questions/41964777
复制相似问题