PREFABS 组合屋
- [Summary摘要] 已经包括一组预定义的可用预制件,以允许每个拖放设置共同的元素。
- [SDK Setup Switcher] SDK设置切换器
提供GUI覆盖以允许切换当前VRTK_SDKManager的已加载VRTK_SDKSetup。
预制件用法:
将VRTK/Prefabs/SDKSetupSwitcher/SDKSetupSwitcher预制件放入场景层次结构中。 - [Console Viewer] 控台查看器
在世界空间画布上添加Unity控制台的场景表示。
预制件用法:
将VRTK/Prefabs/ConsoleViewerCanvas/ConsoleViewerCanvas预制件放入场景层次结构中。
也可以ConsoleViewerCanvas与a 进行交互VRTK_UIPointer。 - [Frames Per Second Viewer]每秒帧数查看器
为HMD视图提供每秒帧数的文本元素。要使用预制件,必须将其放入场景中,然后将耳机摄像头连接到画布上:
预制件用法:
将VRTK/Prefabs/FramesPerSecondCanvas/FramesPerSecondCanvas预制件放在场景层次结构中。 - [Desktop Camera] 桌面摄像头
允许渲染仅在桌面上显示的单独相机,而无需更改VR耳机中显示的内容。
预制件用法:
将VRTK/Prefabs/DesktopCamera/DesktopCamera预制件放在场景中。 - [Controller Rigidbody Activator]控制器刚体活化剂
提供一个简单的触发器对撞机体积,当控制器进入时将启用控制器上的刚体。
预制件用法:
将VRTK/Prefabs/ControllerRigidbodyActivator/ControllerRigidbodyActivator预制件放置在场景中应自动激活控制器刚体的位置。
预制件包含一个默认的球体对撞机来确定碰撞,这个对撞机组件可以在检查器中自定义,也可以用另一个对撞机组件(设置为Is Trigger)替换。
如果预制件作为目标Interactable Object的子级放置,则预制件上的对撞机卷将触发Interactable Object上的碰撞。 - [Object Tooltip]对象工具提示
添加一个World Space Canvas,通过提供一条带有绘制到目标点的线条的文本,可以用于提供有关对象的其他信息。
预制件用法:
将VRTK/Prefabs/ObjectTooltip/ObjectTooltip预制件放入场景层次结构中,最好作为与其关联的GameObject的子节点。
将Draw Line To选项设置为Tooltip将与之配对的GameObject的Transform组件。 - [Controller Tooltips]控制器工具提示
向Controller添加一组Object Tooltips,提供控制器按钮可能执行的操作的信息。
预制件用法:
将VRTK/Prefabs/ControllerTooltips/ControllerTooltips预制件作为场景层次结构中相关控制器脚本别名GameObject的子项放置。
如果Button Transform Settings在编辑时检查器中未提供,则按钮转换将尝试设置为当前SDK默认控制器模型的转换。
如果Button Text Settings未提供其中一个文本选项,则将隐藏该特定按钮的工具提示。
可以在预制件上设置许多参数,这些参数由VRTK_ControllerTooltips应用于预制件的脚本提供。 - [Snap Drop Zone]快速下降区
提供一个预定义区域,在该区域中可以删除有效的可交互对象,并在放下它时捕捉到设置的快照放置区域转换位置,旋转和缩放。
预制件用法:
将VRTK/Prefabs/SnapDropZone/SnapDropZone预制件放入场景层次结构中。
为SnapDropZone提供可选项,Highlight Object Prefab以在场景中生成对象轮廓,以确定捕捉对象的最终位置,旋转和缩放。
如果没有将VRTK_BaseHighlighter衍生物应用于SnapDropZone,则将使用默认的MaterialColorSwap荧光笔。
激活SnapDropZone的碰撞区域Sphere Collider默认为a ,但可以在SnapDropZone GameObject上进行修改或替换。
如果Use Joint选择了Snap Type,则需要将自定义Joint组件添加到SnapDropZoneGame Object中,并且在释放时,可交互对象的刚体将链接到此关节作为Connected Body。 - [Destination Point]目的地点
扩展[VRTK_DestinationMarker]
概观
允许场景中可以传送到的特定场景标记或特定区域。
预制件用法:
将VRTK/Prefabs/DestinationPoint/DestinationPoint
预制件放在场景中的所需位置。
取消选中该Enable Teleport
复选框以锁定目标点并阻止传送到目标点。
取消选中该Snap To Point
复选框以提供目的地区域而不是传送到的特定点。 - [Pointer Direction Indicator]指针方向指示器
向指针渲染器添加指针方向指示器,并确定可由Destiantion Marker使用的给定世界旋转。
预制件用法:
将VRTK/Prefabs/PointerDirectionIndicator/PointerDirectionIndicator预制件放入场景层次结构中。
将PointerDirectionIndicator场景GameObejct 附加到组件上的Direction Indicatorinspector参数VRTK_BasePointerRenderer。
这对于在远距传送时旋转游戏区域以在新方向上面向用户而不期望它们在游戏空间中物理转动是有用的。 - [Radial Menu]径向菜单
在世界空间中提供UI元素,可以将其放入Controller GameObject,并用于从触摸板创建和使用Radial Menus。
预制件用法:
将VRTK/Prefabs/RadialMenu/RadialMenu预制件作为Controller脚本别名GameObject的子项放置。 - [Independent Radial Menu Controller]允许将RadialMenu锚定到任何对象,而不仅仅是控制器。
允许将RadialMenu锚定到任何对象,而不仅仅是控制器。
预制件用法:
将VRTK/Prefabs/RadialMenu/RadialMenu预制件作为GameObject的子项放置,以将径向菜单与其关联。
通过调整RadialMenu空的变换来定位和缩放菜单。
更换VRTK_RadialMenuController用VRTK_IndependentRadialMenuController的是位于RadialMenu/RadialMenuUI/Panel游戏对象。
确保父对象具有VRTK_InteractableObject脚本。
验证Is Usable并且Hold Button to Use都检查了VRTK_InteractableObject。
将附加脚本VRTK_InteractTouch和VRTK_InteractUse脚本添加到将激活径向菜单的对象(例如控制器)。 - [Panel Menu Controller]面板菜单控制器
添加顶级控制器以处理最多四个子PanelMenuItemController项的显示,这些项显示为画布UI面板。
预制件用法:
将VRTK/Prefabs/PanelMenu/PanelMenu预制件作为VRTK_InteractableObject面板菜单的子项放置。
如果不需要,可以选择删除面板控制菜单项child GameObjects,例如PanelTopControls。
在VRTK_PanelMenuController脚本上设置面板菜单项控制器以确定哪些面板控制菜单项可用。
可以通过按下触摸板上的相应方向来激活可用的面板控制菜单项。 - [Panel Menu Item Controller]面板菜单项控制器
拦截从a发送的控制器事件VRTK_PanelMenuController,并将它们传递到其他自定义事件订阅者脚本,然后执行所需的自定义UI操作。
此脚本不是预制件的直接部分,而是与PanelMenu预制件关联的帮助器。
将VRTK/Prefabs/PanelMenu/VRTK_PanelMenuItemController脚本放在任何面板项容器的子GameObject上,该容器包含在PanelMenuController场景中的预制件中。
拿起VRTK_InteractableObject通过按触摸板顶部/底部/左/右显示/隐藏面板菜单,您可以打开/关闭通过Unity Editor面板分配的子UI面板。
- [Avatar Hand Controller]阿凡达手控制器
提供具有伪手指功能的自定义控制器手模型。
预制件用法:
将VRTK/Prefabs/AvatarHands/BasicHands/VRTK_BasicHand预制件放置为左或右脚本别名的子项。
如果左手使用预制件,则检查Mirror Model参数。
默认情况下,头像手控制器将检测连接哪个控制器并相应地表示它。
(可选)使用SDKTransformModify脚本根据不同的控制器类型调整手部方向。
指针
VRTK_DestinationMarker
提供所有目标标记可以继承的基础。
这是一个抽象类,它将继承到提供对象控制操作功能的具体类,因此不应直接使用此脚本
VRTK_Pointer提供能够从指定的GameObject发出指针的基础
VRTK_PlayAreaCursor
提供跟踪指针光标位置的播放区域边界的可视化表示。
指针渲染
提供所有指针渲染器可以继承的基础。
这是一个抽象类,它将继承到提供指针渲染器功能的具体类,因此不应直接使用此脚本。
VRTK_StraightPointerRenderer:直梁的可视指针表示,末端带有可选的光标
VRTK_BezierPointerRenderer:由多个对象组成的弯曲梁的可视指针表示,末端带有可选的光标。
运动
一组脚本,提供了在场景中移动用户的各种方法
- [VRTK_BasicTeleport] x/z使用可选的屏幕淡入更新SDK Camera Rig 的位置。该y位置不被基本瞬移改变,因此只允许跨2D平面运动。将VRTK_BasicTeleport脚本放在任何活动的场景GameObject上。
- [VRTK_HeightAdjustTeleport]扩展[VRTK_BasicTeleport]
x/y/z使用可选的屏幕淡入更新SDK Camera Rig 的位置。y使用此传送器时,摄像机装置可以自动传送到最近的楼层位置。将VRTK_HeightAdjustTeleport脚本放在任何活动的场景GameObject上。 - [VRTK_DashTeleport]扩展[VRTK_HeightAdjustTeleport]x/y/z使用lerp将SDK Camera Rig 的位置更新到新位置,从而创建破折号效果。可选的目标标记(例如指针),用于设置传送位置的目的地
- [VRTK_TeleportDisableOnHeadsetCollision]当HMD与有效几何体碰撞时,防止远距传送
- [VRTK_TeleportDisableOnControllerObscured]当控制器从HMD的视线遮挡时防止远距传送
- [VRTK_ObjectControl]提供所有对象控制运动可以继承的基础。这是一个抽象类,它将继承到提供对象控制运动功能的具体类,因此不应直接使用此脚本。
- [VRTK_TouchpadControl]提供基于控制器触摸板轴的位置控制GameObject位置的功能。此脚本形成发出触摸板轴X和Y更改的存根,然后由正在侦听相关事件的相应对象控制操作消化
- [VRTK_ButtonControl]提供基于按下链接到特定轴方向的控制器按钮来控制GameObject位置的功能
- [VRTK_MoveInPlace]根据耳机和/或控制器的运动移动SDK Camera Rig。尝试重新创建物理行走的概念,以创建场景运动
- [VRTK_PlayerClimb]根据Interact Grab是否与Climbable Interactable Object交互来模拟攀爬,提供SDK Camera Rig的移动能力
- [VRTK_SlingshotJump]通过基于每个有效控制器的拉回来进行弹跳,提供SDK Camera Rig的跳跃运动能力
- [VRTK_StepMultiplier]将游戏区域内的每个真实世界步骤相乘以使得能够在虚拟世界中行进更远的距离
- [VRTK_TunnelOverlay]当游戏区域移动或旋转时,对活动VR摄像机应用隧道覆盖效果,以减少由模拟病引起的潜在恶心
- [VRTK_DragWorld]通过使用控制器拖动世界,提供移动,旋转和缩放PlayArea的功能
对象控制操作
- [VRTK_BaseObjectControlAction]此目录包含用于在使用对象控件时提供不同操作的脚本。提供所有对象控制操作可以继承的基础。
- [VRTK_SlideObjectControlAction]x/z通过在相应的对象控制轴更改时更新“变换”位置,可以通过在场景中的平面上滑动来移动游戏对象。效果是在向前和向侧方向上的平滑滑动运动以模拟行走。
- [VRTK_RotateObjectControlAction]通过y在相应的对象控制轴更改时更新“变换”旋转,提供通过场景中的世界轴旋转GameObject的功能。效果是平滑旋转以模拟转弯。
- [VRTK_SnapRotateObjectControlAction]通过y在相应的对象控制轴更改时以定义的步骤更新“变换”旋转,可以通过场景中的世界轴快速旋转GameObject 。效果是立即快速旋转以快速面向新方向。
- [VRTK_WarpObjectControlAction]通过x/z在相应的对象控制轴更改时以定义的步骤更新“变换”位置,可以通过在场景中的平面上扭曲来移动游戏对象。效果是立即捕捉到给定方向的新位置。
交互件
- [VRTK_ControllerEvents]与物理VR控制器的关系,并根据控制器的输入发出事件
- [VRTK_InteractTouch]确定GameObject是否可以启动与Interactable对象的触摸。
- [VRTK_InteractNearTouch]确定GameObject是否可以使用Interactable对象启动近距离触摸。
- [VRTK_InteractGrab]确定Interact Touch是否可以使用触摸的Interactable对象启动抓取。
- [VRTK_InteractUse]确定Interact Touch是否可以启动与触摸的Interactable对象的使用交互。
- [VRTK_ControllerTrackedCollider]扩展VRTK_SDKControllerReady,提供控制器对撞机集合,通过物理系统跟随控制器刚体
- [VRTK_ControllerHighlighter]启用控制器元素的突出显示。
- [VRTK_ObjectAutoGrab]尝试自动获取指定的Interactable对象。
INTERACTABLES
- 提供能力的脚本集合,表示对象可以交互,并在对象与之交互时提供功能。
- [VRTK_InteractableObject]确定GameObject是否可以与之交互。
- [VRTK_InteractableListener]提供需要订阅Interactable Object的交互事件的类可以继承的基础。这是一个抽象类,它将继承到提供交互事件侦听器功能的具体类,因此不应直接使用此脚本。
- [VRTK_InteractHaptics]在与指定的Interactable Object交互时提供控制器触觉。
- [VRTK_ObjectAppearance]确定Object To Affect默认情况下或在交互时是否可见或隐藏(近触摸,触摸,抓取,使用)。
- [VRTK_InteractObjectHighlighter]根据交互类型启用Interactable Object的突出显示。
- [VRTK_ObjectTouchAutoInteract]允许Interact Grab或Interact使用交互在触摸Interactable对象时自动发生。
- [VRTK_IgnoreInteractTouchColliders]忽略给定的Interact Touch碰撞器与此脚本附加到的GameObject上的碰撞器之间的碰撞。
荧光笔
- 此目录包含用于提供不同对象突出显示的脚本。
- [VRTK_BaseHighlighter]提供所有荧光笔可以继承的基类。
- [VRTK_MaterialColorSwapHighlighter]在呈现器材质上交换给定高光颜色的纹理颜色。
由于对象材质的交互方式,更改材质颜色将破坏Unity中的绘制调用批处理,同时突出显示对象。当项目不再突出显示时,将在原始材料上恢复绘制调用批处理。 - [VRTK_MaterialPropertyBlockColorSwapHighlighter]使用属性块在呈现器材质上交换给定高光颜色的纹理颜色。
使用MaterialPropertyBlock意味着Unity中的Draw Call Batching不会受到损害。 - [VRTK_OutlineObjectCopyHighlighter]创建网格副本并应用在突出显示对象时打开和关闭的轮廓着色器。
必须找到或提供有效的网格才能创建克隆网格。
抓住附加力学
- 此目录包含用于在抓取可交互对象时提供不同机制的脚本。
- [VRTK_BaseGrabAttach]提供所有抓取附加机制可以继承的基础。这是一个抽象类,它将继承到提供抓取附加功能的具体类,因此不应直接使用此脚本。
- [VRTK_BaseJointGrabAttach]提供所有基于联合的抓取附加机制可以继承的基础。这是一个抽象类,它将继承到提供基于联合的抓取附加功能的具体类,因此不应直接使用此脚本。
- [VRTK_FixedJointGrabAttach]通过固定关节将抓取的可伸缩对象附加到抓取对象。Interactable Object将通过Fixed Joint连接到抓取对象,并且可以在Interactable Object与其他碰撞器碰撞时断开Joint。
- [VRTK_SpringJointGrabAttach]通过Spring Joint将抓取的Interactable Object附加到抓取对象。Interactable Object将通过Spring Joint连接到抓取对象,并且可以在Interactable Object与其他碰撞器碰撞时断开Joint。
- [VRTK_CustomJointGrabAttach]通过自定义Joint将抓取的Interactable Object附加到抓取对象。Interactable Object将通过自定义Joint连接到抓取对象,并且可以在Interactable Object与其他碰撞器碰撞时断开Joint。
- [VRTK_ChildOfControllerGrabAttach]将抓取的Interactable Object设置为抓取对象的子对象。
Interactable Object将对抓取对象进行1:1跟踪,但是它也会减少碰撞检测并且能够通过其他碰撞器。 - [VRTK_TrackObjectGrabAttach]将速度应用于抓取的Interactable Object以确保它跟踪抓取对象的位置。Interactable Object跟踪基于所应用的速度的抓取对象,因此与所有其他场景碰撞器完全交互,但不是真正的1:1跟踪。
- [VRTK_RotatorTrackGrabAttach]对抓取的Interactable对象应用旋转力。可伸缩对象不附加到抓取对象,而是具有基于抓取对象的旋转而施加的旋转力。
- [VRTK_ClimbableGrabAttach]将可交互对象标记为可爬升。Interactable对象不会被VRTK_PlayerClimb抓到控制器,而是与脚本一起使PlayArea可以像攀爬一样移动。
- [VRTK_ControlAnimationGrabAttach]根据从抓取对象到原始抓取点的距离,通过给定的动画进行磨砂。
- [VRTK_MoveTransformGrabAttach]将Interactable Object的Transform转换为指定限制内的交互对象。要允许不受限制的移动,请将轴限制最小值设置为最大值,-infinity并将轴限制最大值设置为infinity。
- [VRTK_RotateTransformGrabAttach]在给定限制内围绕指定的变换局部轴旋转可伸缩对象的变换。
要允许不受限制的移动,请将角度限制设置为最小值-infinity,将角度限制设置为最大值infinity。
辅助控制器抓取操作
- 此目录包含用于在辅助控制器抓取抓取对象时提供不同操作的脚本。
- [VRTK_BaseGrabAction]提供所有辅助控制器抓取附加可以继承的基础。这是一个抽象类,它将继承到提供辅助控制器抓取操作功能的具体类,因此不应直接使用此脚本。
- [VRTK_SwapControllerGrabAction]将抓取的Interactable Object交换到新的抓取对象。
- [VRTK_AxisScaleGrabAction]根据辅助抓取Interact Grab的位置,沿着给定的轴缩放抓取的Interactable Object。例子43
- [VRTK_ControlDirectionGrabAction]控制抓取的可伸缩对象的面向方向以在辅助抓取对象的方向上旋转。
如果可交互对象的旋转才会正常进行forward正确对齐世界z-axis和up正确对齐世界y-axis。也无法控制使用基于关节的抓取机制的可伸缩对象的方向。例子43
存在
处理跟踪场景中用户周围的世界的一组脚本:- [VRTK_HeadsetCollision]表示HMD与有效几何体碰撞的时间。
- [VRTK_HeadsetFade]提供在给定持续时间内将耳机视图的颜色更改为指定颜色的功能。
- [VRTK_HeadsetCollisionFade]当检测到耳机碰撞事件时,启动耳机视图的淡入淡出。
- [VRTK_HeadsetControllerAware]确定HMD是否与控制器保持一致,或者耳机是否直接查看其中一个控制器。29
- [VRTK_HipTracking]尝试提供髋部的相对位置而无需额外的硬件传感器。
- [VRTK_BodyPhysics]允许游戏区域受物理影响,并检测与其他有效几何体的碰撞。
- [VRTK_PositionRewind]尝试在耳机碰撞事件时将游戏区域的位置倒回到最后知道的有效位置。
UI
UI类组:提供了利用Unity UI元素并与之交互的能力- 一组脚本,提供了利用Unity UI元素并与之交互的能力。
- [VRTK_UICanvas]表示Unity World UI Canvas可以与UIPointer脚本进行交互。
- [VRTK_UIPointer]提供与UICanvas元素和其中包含的Unity UI元素进行交互的功能。
- [VRTK_UIDraggableItem]扩展MonoBehaviour,IBeginDragHandler,IDragHandler,IEndDragHandler
表示Unity UI元素在UI Canvas上可拖动。
如果将UI可拖动项设置为,Restrict To Drop Zone = true则UI Draggable项必须是应用了VRTK_UIDropZone脚本的元素的子项,以确保它在有效的放置区中启动。 - [VRTK_UIDropZone] 扩展了MonoBehaviour,IPointerEnterHandler,IPointerExitHandler将Unity UI元素指定为UI Draggable元素的有效放置区位置。使用Panel UI元素作为放置区域并应用布局组是合适的,因此放入放置区域的新子节点会自动对齐。
CONTROLLABLES
- 包含构成可交互式3D控件基础的脚本,这些控件可以是基于物理的,也可以是人工模拟的。
- [VRTK_BaseControllable]提供所有Controllables可以继承的基础。这是一个抽象类,它将继承到提供可控功能的具体类,因此不应直接使用此脚本。
- [VRTK_BasePhysicsControllable]提供所有基于物理的Controllables可以继承的基础。这是一个抽象类,它将继承到提供基于物理的可控功能的具体类,因此不应直接使用此脚本。
- [VRTK_PhysicsPusher]基于物理的可推动推动器。
- [VRTK_PhysicsRotator]基于物理的可旋转物体。
- [VRTK_PhysicsSlider]基于物理的滑块。
- [VRTK_ArtificialPusher]人工模拟的可推动推动器。
- [VRTK_ArtificialRotator]人工模拟的可旋转物体。
- [VRTK_ArtificialSlider]人工模拟的滑块。
公用事业
一组脚本,提供有用的功能以帮助创建过程。
- [ScriptingDefineSymbolPredicateInfo]一个辅助类,它只保存对SDK_ScriptingDefineSymbolPredicateAttribute的引用以及定义属性的方法的方法信息。
- [VRTK_SDKManager]SDK Manager脚本提供受支持SDK的配置,并管理要使用的VRTK_SDKSetup脚本列表。
- [VRTK_SDKSetup]SDK安装程序描述了要使用的SDK和游戏对象的列表。
- [VRTK_SDKInfo]包含描述SDK所需的所有信息。
- [VRTK_DeviceFinder]设备查找器提供了一组静态方法,可以调用这些方法来查找常见的游戏设备,如耳机或控制器,或用于确定有关已连接设备的关键信息。
- [VRTK_SharedMethods]共享方法脚本是可重复使用的静态方法的集合,可用于各种不同的脚本。
- [VRTK_PolicyList]
策略列表允许创建标记名称,脚本名称或图层名称的列表,可以检查它们以查看是否允许其他操作。
许多其他脚本可以使用策略列表来确定是否允许操作,具体取决于游戏对象是否应用了标记,其上是否有脚本组件或者是否在给定图层上。
例如,如果游戏对象包含标识符列表中的标记并且策略设置为忽略,则Teleporter脚本可以将游戏对象目标忽略为远程端口位置。
或者,远程传送器只允许传送到包含标识符列表中的标签的目标,并且策略设置为包括。
将Policy List脚本添加到游戏对象(最好是使用该列表的相同组件),然后相应地配置列表。
然后在具有Policy List参数的组件(例如BasicTeleporter Target List Policy)中,只需选择已创建和定义的列表。 - [VRTK_CustomRaycast]
自定义Raycast允许为Physics.Raycast指定自定义选项。
许多其他脚本可以使用自定义光线投射来进一步自定义脚本在内部使用的光线投射。
例如,可以将VRTK_BodyPhysics脚本设置为在投射时忽略触发器碰撞器,以查看它是否应向上或向下传送到最近的楼层。 - [VRTK_NavMeshData]导航网格数据脚本允许将自定义导航网格信息提供给传送器脚本。
- [VRTK_AdaptiveQuality]自适应质量动态更改渲染设置以维持VR帧速率,同时最大化GPU利用率。
- [VRTK_ObjectFollow]允许更改一个游戏对象的属性以跟随另一个游戏对象的抽象类。
- [VRTK_RigidbodyFollow]改变一个GameObject的刚体跟随另一个GameObject的刚体。
- [VRTK_TransformFollow]更改一个GameObject的变换以跟随另一个GameObject的变换。
- [VRTK_SDKObjectAlias]应用SDK对象别名脚本的GameObject将成为所选SDK对象的子级。
- [VRTK_SDKTransformModify]SDK Transform Modify可用于在运行时根据当前使用的SDK或SDK控制器更改转换方向。
- [VRTK_SDKObjectState]SDK对象状态脚本可用于根据SDK信息设置GameObject或Component的启用/活动状态。
国家可以通过以下方式确定:
当前加载的SDK设置。
目前附加的耳机类型。
当前附加的Controller类型。 - [VRTK_SDKInputOverride]提供基于当前SDK或控制器类型切换按钮映射的功能
- [VRTK_VelocityEstimator]
elocity Estimator用于计算移动物体的估计速度,该物体移动到Unity物理之外。
具有刚体并使用Unity物理移动的物体将自动提供准确的速度和角速度信息。
使用绝对位置移动或移动变换位置的任何对象将无法提供准确的速度或角速度信息。
当Velocity Estimator脚本应用于任何GameObject时,它将基于给定数量的位置和旋转样本提供对象的速度和角速度的最佳情况估计。
使用的样本越多,精度越高,但脚本对处理时间的要求越高。
基础SDK
- 用于确定与Unity VR SDK交互的界面的基本脚本。
- [SDK_Base]定义特定类是SDK的抽象超类。
这是一个抽象类,用于标记所有不同的SDK端点。这用于在谈论'SDK'而不是其中一个不同的端点(系统,边界,耳机,控制器)时允许类型安全。
- [SDK_DescriptionAttribute]描述代表SDK的类。仅允许从SDK_Base继承的类。
- [SDK_ScriptingDefineSymbolPredicateAttribute]指定要用作谓词的方法,以允许VRTK_SDKManager自动添加和删除脚本定义符号。仅允许在不带参数的静态方法上返回bool。
- [SDK_BaseSystem]Base System SDK脚本提供了与核心系统SDK方法的桥梁。
这是一个抽象类,用于实现所有已实现的SDK所需的接口。 - [SDK_BaseHeadset]Base Headset SDK脚本为处理VR Headset的SDK方法提供了桥梁。
这是一个抽象类,用于实现所有已实现的SDK所需的接口。 - [SDK_BaseController]Base Controller SDK脚本提供了处理输入设备的SDK方法的桥梁。
这是一个抽象类,用于实现所有已实现的SDK所需的接口。 - [SDK_BaseBoundaries]Base Boundaries SDK脚本为SDK方法提供了一个桥梁,用于处理支持房间比例游戏空间的SDK的游戏区域。
这是一个抽象类,用于实现所有已实现的SDK所需的接口。
后备SDK
- 用于为任何已实现的SDK提供默认/ null回退的脚本。
- [SDK_FallbackSystem]Fallback System SDK脚本提供返回null或默认系统值的方法的回退集合。这是仅返回默认值的后备类。
- [SDK_FallbackHeadset]Fallback Headset SDK脚本提供了返回null或默认耳机值的方法的回退集合。这是仅返回默认值的后备类。
- [SDK_FallbackController]Fallback Controller SDK脚本提供了返回null或默认耳机值的方法的回退集合。这是仅返回默认值的后备类。
- [SDK_FallbackBoundaries]Fallback Boundaries SDK脚本提供返回null或默认耳机值的方法的回退集合。
这是仅返回默认值的后备类。
模拟器SDK
- 用于在没有VR硬件的情况下构建VR模拟器的脚本。
- [SDK_SimSystem]
- [SDK_SimHeadset]
- [SDK_SimController]
- [SDK_SimBoundaries]
STEAMVR SDK
- 用于使用SteamVR Unity插件SDK的脚本。
- [SDK_SteamVRDefines]处理SteamVR SDK的所有脚本定义符号。
- [SDK_SteamVRSystem]SteamVR System SDK脚本提供了与SteamVR SDK的桥梁。
- [SDK_SteamVRHeadset]SteamVR Headset SDK脚本提供了SteamVR SDK的桥梁。
- [SDK_SteamVRController]teamVR Controller SDK脚本提供了处理输入设备的SDK方法的桥梁
- [SDK_SteamVRBoundaries]SteamVR Boundaries SDK脚本提供了SteamVR SDK游戏区域的桥梁。
OCULUSVR SDK
- [SDK_OculusDefines]
- [SDK_OculusVRSystem]
- [SDK_OculusVRHeadset]
- [SDK_OculusVRController]
- [SDK_OculusVRBoundaries]
DAYDREAM SDK
- [SDK_DaydreamDefines]
- [SDK_DaydreamSystem]
- [SDK_DaydreamHeadset]
- [SDK_DaydreamController]
- [SDK_DaydreamBoundaries]
XIMMERSE SDK
- [SDK_XimmerseDefines]
- [SDK_XimmerseSystem]
- [SDK_XimmerseHeadset]
- [SDK_XimmerseController]
- [SDK_XimmerseBoundaries]
HYPEREALVR SDK
- [SDK_HyperealVRDefines]
- [SDK_HyperealVRSystem]
- [SDK_HyperealVRHeadset]
- [SDK_HyperealVRController]
- [SDK_HyperealVRBoundaries]
WINDOWSMR SDK
- 用于使用WindowsMR SDK for Unity的脚本。
- [SDK_WindowsMRDefines]
- [SDK_WindowsMRSystem]
- [SDK_WindowsMRHeadset]
- [SDK_WindowsMRController]
- [SDK_WindowsMRBoundaries]
UNITY SDK
- 用于利用内置Unity VR支持的脚本。
- [SDK_UnitySystem]Unity System SDK脚本提供了Unity SDK的桥梁。
- [SDK_UnityHeadset]Unity Headset SDK脚本提供了基本Unity耳机支持的桥梁。
- [SDK_UnityController]Unity Controller SDK脚本提供了与基本Unity输入设备支持的桥梁。
- [SDK_UnityBoundaries]Unity Boundaries SDK脚本提供了到默认Unity播放区域的桥梁。
- [SDK_UnityControllerTracker]Controller Tracker使GameObject能够通过UnityEngine.VR库跟踪它对可用连接VR控制器的位置/旋转。
Unity Controller Tracker连接到[UnityBase_CameraRig]儿童的预制件LeftHandAnchor并RightHandAnchor启用控制器跟踪。 - [SDK_UnityHeadsetTracker]Headset Tracker使GameObject能够通过UnityEngine.VR库跟踪它对可用连接的VR HMD的位置/旋转。
Unity耳机跟踪器连接到[UnityBase_CameraRig]儿童HeadHMD跟踪的预制件上。