嗨,我正在尝试制作 HTC Vive 应用程序。我想制作一个画布 - 带有 3d 对象的世界空间,位于一切之上。所以我遵循了这个答案。https://answers.unity.com/answers/887498/view.html .. 它运行良好。
然后我使画布成为相机的子对象,以便画布随着相机的移动而移动。然后我调整了画布的位置 Z,使其位于相机前面。
我遇到的问题是,我想使用控制器对画布中的 3d 对象进行光线投射。我已经有了要检测它的脚本。因此,画布按照上面链接中的说明设置为 UI 层。要对其进行光线投射,我必须将 LayerMask 作为参数传递给 Raycast() 函数。
但是,请参阅 png 文件,我必须估计画布的距离才能被击中。在屏幕截图中,蓝色立方体是画布中的 3D 对象。紫线是激光笔,只有在命中时才会出现。为了让紫色激光出现,我必须估计蓝色立方体的位置。如果我直接指向立方体,光线投射不会命中。
对不起,如果我的问题不清楚。我很难找到合适的术语来解释我的问题。谢谢你。