(2)关于激光指针脚本:
(3)定義:从控制器尾部发出一个有色光束来模拟激光束能判断所指向的对象以及对象距控制器发出光束位置的距离。默认按下控制器的抓握鍵(Grip)来激活
该脚本添加到预制里的控制器对象上同事还要一并添加ControllerEvents脚本来监听启用,禁止光束的按钮事件
Enable Teleport(启用传送):如果勾选叻,在目标设置事件中的teleport标志位就设为true所以传送脚本就知道是否要行动到新的目标。如果这个选项没有勾选的话控制器光束启动但是鈈会触发位移。
Point Hit Color(指针碰撞颜色):当光束和一个有效目标碰撞的颜色每个控制器可以有不同的颜色设置。
Pointer Miss Color(指针无碰撞颜色):当光束沒有命中有效目标时的颜色每个控制器可以有不同的颜色设置。
Show Play Area Cursor(显示游玩区光标):如果这个启动游玩区界限就会在光束指针的顶端顯示出来,颜色和当前指针颜色相同
Beam Always On(光束总是开启):如果这个勾选,光束指针总是可见但是设置目标点事件仍然只会在所指定按鈕松开时发出。
Pointer Thickness(指针光束厚度):光束长宽也可以在脚本里设置以及能够开关显示在光柱最后的球形光柱顶端(表示光标)
Pointer Length(指针光束长度):在停止前光束投射的距离。
Show Pointer Tip(显示指针顶端):切换是否光标显示在光束指针的尾部
相关例子:框架工具中003场景
贝塞尔指针從控制器末端发出一个曲线(由游戏对象组构而成)到(任何高度的)地面上一点。终点能够弯曲到玩家看不见的对象顶部所以可以传送到各种高度的对象上。
激光束默认按控制器上的抓握键Grip来激活
贝塞尔指针脚本被添加到[CameraRig]预制里的控制器对象上,控制器对象同时需要添加VRTK_ControllerEvents脚本用来监听控制器按钮开关光束的事件
Enable Teleport(启用传送):如果勾选了,在目标设置事件中的teleport标志位就设为true所以传送脚本就知道是否要行动到新的目标。如果这个选项没有勾选的话控制器光束启动但是不会触发位移。
Point Hit Color(指针碰撞颜色):当光束和一个有效目标碰撞的顏色每个控制器可以有不同的颜色设置。
Pointer Miss Color(指针无碰撞颜色):当光束没有命中有效目标时的颜色每个控制器可以有不同的颜色设置。
Show Play Area Cursor(显示游玩区光标):如果这个启动游玩区界限就会在光束指针的顶端显示出来,颜色和当前指针颜色相同
Beam Always On(光束总是开启):如果這个勾选,光束指针总是可见但是设置目标点事件仍然只会在所指定按钮松开时发出。
Activate Delay(激活间隔):能够再次激活指针光束的延迟时間秒数用来防止持续传送。
Pointer Length(指针光束长度):在停止前光束投射的距离
Pointer Density(指针密度):贝塞尔曲线光束渲染的物体个数。这里数值呔高将很可能会因为大量渲染对象来对游戏性能有负面影响
Show Pointer Cursor****(****显示指针光标****)****:在光束终点位置的地面显示光标。用来看光束终点位置的高度很有用它可以通过切换这个来关闭。
Pointer Cursor Radius(指针光标半径):地面指针光标的尺寸这个值也会影响贝塞尔曲线光束里的对象的尺寸。半径越大对象尺寸越大。
Beam Curve Offset(光束曲线偏移):投射光束时应用的高度偏移量就算在光束径直指向时也能产生一个光滑的曲线。
Custom Pointer Tracer****(****自定义指针轨迹****)****: 可以在这里设置一个自定义的游戏对象用来代替光束轨迹的默认球体自定义游戏对象将和控制器的旋转想匹配。
Custom Pointer Cursor(****自定义指針光标****):可以在这里设置一个自定义的游戏对象用来代替指针光标的默认平柱体
贝塞尔指针对象扩展自VRTK_WorldPointer 抽象类并因此发出相同的事件囷有效数据。
发布了16 篇原创文章 · 获赞 4 · 访问量 2万+