008_Controller_UsingAGrabbedObject:008场景主要介绍可以抓取可交互式对象的场景(按下Grip控制器按钮)然后使用(按下Trigger控制器按钮)。桌子上有一把枪可以被拿起来射击,在场景Hierarchy面板下ExampleObjects游戏对象子层级Whirlygig (6)游戏对象上挂载了VRTK_TrackObjectGrabAttach脚本可跟踪对象,这个脚本主要继承于VRTK_BaseGrabAttach脚本,主要负责对象抓取,同上挂载了VRTK_InteractControllerAppearance控制器触摸脚本用于触发碰撞或者是颜色。
VRTK_TrackObjectGrabAttach脚本解析。
Precision Grab:如果选中此项,那么当控制器抓取对象时,它将精确地抓取它并在控制器触摸的对象上的特定点处拾取它。
Right Snap Handle:作为空游戏对象提供的变换,其必须是被抓取的项目的子项,并且用作旋转的定向点并且相对于右手控制器定位被抓取的项目。 如果没有提供右手柄,但是提供了左手柄,则将使用左手柄。 如果没有提供Snap Handle,那么将在其中心点抓取该对象,不需要Precision Snap。
Left Snap Handle:作为空游戏对象提供的变换,必须是被抓取的项目的子项,并且用作旋转的定向点,并且相对于左手控制器定位被抓取的项目, 如果没有提供Snap Handle,那么将在其中心点抓取该对象。 不需要Precision Snap。
Throw Velocity With Attach Distance:如果选中则抛出对象时,对象的附着点与控制器附着点之间的距离将用于计算更快的投掷速度。
Throw Multiplier:在抛出时给定对象的速度乘以量。 这也可以与Interact Grab Throw Multiplier结合使用,使某些物体比正常情况更进一步抛出(如果输入的数字低于1,则抛出更短的距离。
On Grab Collision Delay:在第一次抓取对象时延迟影响对象冲突的时间量。 如果游戏对象在被抓取时可能卡在另一个对象内,这将非常有用。如图3.1所示
Detach Distance:分离再次抓取的距离。
Velocity Limit:物体的最大速度
Andular Velocity Limit:旋转的最大速度。
VRTK_InteractControllerAppearance脚本解析。如图3.2所示
Hide Controller On Touch:发生有效触摸时隐藏控制器模型。
Hide Delay On Touch:在隐藏控制器之前等待的秒数。
Hide Controller On Grab:发生有效抓取时隐藏控制器模型。
Hide Delay On Grab:在抓取控制器之前等待的秒数。
Hide Controller On Use:发生有效使用时隐藏控制器模型。
Hide Delay On Use:在使用中隐藏控制器之前等待的秒数。
-------------------------------图3.2VRTK_InteractControllerAppearance控制器触摸脚本-------------------------------