Unity 天空盒上的悬停菜单

Hover Menu on Skybox in Unity

我有一个关于 VR/AR-interaction 我想创建的问题。

我想要一个用作天空盒的图像,以提供景观的空中透视图,并允许用户将鼠标悬停在图像的一部分上以显示一个小面板,其中包含他们正在查看的对象的描述.

例如,如果我有一个城市景观的天空盒,并希望允许用户将鼠标悬停在建筑物上并进行显示建筑物名称的弹出式交互,执行此操作的最佳策略是什么?

我创建了天空盒,但在尝试在特定对象上添加按钮时 运行 遇到透视问题。

这种方法是否可行,或者我需要纹理景观吗?

我们通常使用billboards (images that always face the camera) to create hotspots on top of either cubic or spherical skyboxes. This is illustrated here in our cardboard demo app

经常放置诸如信息文本或弹出窗口之类的项目,我只是:

  • 将内容作为空游戏对象的父级
  • 将内容偏移到所需的距离(沿 z 轴)
  • 旋转父级以将内容放置在需要出现的位置

在 GearVR 上,由于 user/camera 始终位于中心,因此上面就像有一个广告牌。

hotspots/buttons 有一个对撞机,您可以在后期更新时使用相机位置和旋转来拍摄光线,以确定用户是否正在悬停(注视)给定的火锅。相机 ScreenPointToRay and Physics.RayCast

是两个对您入门有帮助的 类

为了精确切割天空盒中的内容(例如突出显示特定建筑物),我们通常使用基于立方体贴图的天空盒并在 Photoshop 中执行 masking/post-processing。然后我们统一将图像分层到相应背景天空盒面板的顶部,并根据需要将它们 on/off 。为了简化在 Unity 中的排列,我通常使用 "custom skybox",它基本上是 6 个面向内的四边形。

hth.