前言:
在实际VR项目中常常会遇到拿起物体并放在指定位置的功能。在VRA中正好有能够配合Grab组件实现这一功能的专属组件——Anchor组件。这一组件的运用方式与之前几篇文章中介绍的组件有个非常不同的特点,它需要结合Anchor和Connector_Anchor两个组件组合实现功能。下文将概述这两个组件如何实现物体吸附至指定未知的功能。
参数设置:
Comp_Connector_Anchor:
Connector组件需要添加在物体将要吸附在的Actor上,相当于一个吸附的基底。它的参数设置并不复杂:
Anchor Deactivated:
该bool参数用于开启/关闭Connector组件,当bool为true时带有Anchor组件的物体将无法与该connector进行交互,参数默认是false。
Connector IDs to Allow:
需要将吸附在Connector位置的Anchor Comp的ID填入该参数栏中,这样两个组件才能互相通信实现吸附交互。
Connector should attach:
该bool参数用于设定当开启了物理模拟的Anchor物体吸附在Connector上时是否继续持续吸附在Connector上。如果为false,当connector倾斜时或物体收到物理体影响时,吸附的物体会因为重力掉下。
Sphere Radius:
该参数决定了能够检测到Anchor组件的球形范围大小。
Connector_Anchor组件的Transform设置:
Anchor组件与Connector组件吸附的方向与位置是根据这两个组件的Location和Rotation决定的,并且吸附后的物体Scale时由Connector的Scale决定的。
官网推荐在Anchor组件上添加一个Arrow组件辅助判断方向,这两个组件的吸附的方式是两个组件的X轴相对地吸附:
Comp_Anchor:
Comp_Anchor组件需要放置在被抓起的Actor上,Anchor组件与Grab组件之间不需要额外设置,并且只有当物体被抓取后才会触发Anchor组件与Connector组件之间的识别:
ConnectorID:
需要用户自行添加一个自定义的ID,用于与对应的connector进行吸附的识别。
Search Radius&Distance:
Anchor组件检测Connector组件的范围半径与距离,结合起来类似以Anchor组件为原点的一个胶囊体范围进行检测。
Comp_Anchor的Location与Rotation调整:
Anchor组件的位置与旋转与Connector的组件的位置与旋转决定了物体吸附在基座上时的位置与旋转。根据Connector组件介绍中的图片进行设置即可。