参考博客:https://blog.csdn.net/yuanlaijike/article/details/85200733 并实现功能
一.为 Cube 添加了方向指示器(Directional indicator),当我们的视野中看不见该 Cube 时,方向指示器会指示出它的位置。
实现步骤如下:
1. 为 Cube 添加 MRTK 包中的 DirectionIndicator.cs 脚本。 (这个是一个具有指示标志的脚本)
2. 选中该脚本,设置 Cursor 属性为 Hierarchy 中的 CursorWithFeedback;
3. 设置DirectionIndicatorObject 属性为 MRTK 包中的 HeadsUpDirectionIndicatorPointer。
DirectionIndicator.cs 脚本,各个控件或具体属性含义如下:
Cursor 该物体在场景中被当作光标,方向指示器会显示在这个物体旁边
DirectionIndicatorObject 方向指示器物体,该物体会一直指向附加该脚本的对象。
DirectionIndicatorColor 方向指示器的颜色(方向指示器材质里的Shader必须要有“_TintColor”属性,否则颜色不会变)
VisibilitySafeFactor 范围[-0.3,0.3] ,当物体在摄像机视锥的某个百分比范围中,方向指示器才会显示。(例如此值为0时,当物体完全离开摄像机视锥之后方向指示器才会显示;此值为0.1时,物体在视锥范围的90%之外,方向指示器才会显示;此值为-0.1时,物体在视锥范围的110%之外 ,方向指示器才会显示)
MetersFromCursor 方向指示器从原中心到它面向方向(forward)的一个偏移值。
二.如果为 Cube 添加了广告牌(Billboarding)效果,他就会永远的面朝你,即使你尝试走到它的后面(应用在 Cube 上没啥意义,可以使用 Text 来测试)。
为一个 gameObject 添加广告牌效果十分简单,只要为其添加 MRTK 包下的 Billboard.cs
脚本,并设置它的 PivotAxis
属性为 Y
即可,即绕着 Y 轴实现广告牌。
三,广告牌+平滑追踪
给 3D text 文本添加 广告牌(始终正面朝向自己) + 平滑追踪(始终跟随自己)
1.给 3D Text "拍照准备中" 添加 Tagalong.cs 脚本 (跟随自己的视线移动)
2.给 3D Text "拍照准备中" 添加 Billboarding.cs 脚本 (始终正面朝向自己)
四,关于Cursor图标,底层实现
脚本WorldCursor.cs 详解 见:https://blog.csdn.net/yuanlaijike/article/details/85200733