1、在前面的实例中是把Grab和Drop逻辑放到SimVRHand手柄对象里面,从面向对象来看,Grab和Drop逻辑应该放在被抓取的对象中,由于可能每一个对象被抓取后要执行的Grab和Drop逻辑都不太同样:武器被抓取、门被抓取、抽屉被抓取的逻辑是不同的,每一个对象最清楚本身的业务逻辑。函数
2、新建一个名为“GrabTargetActor”的Actor,并添加一个StaticMesh,开启模拟物理,并勾选“Generate Overlap Events(产生碰撞事件)”3d
3、给“GrabTargetActor”添加2个函数:OnGrab(被抓取时被调用)、OnDrop(被抓取释放后被调用)。对象
若是下图中的StaticMesh做为Actor的根节点,则不须要从新附加根节点,由于其自己就是跟节点。当如图中的StaticMesh不是根节点,而且开启了模拟物理,则须要手动从新附加到根节点。blog
4、虽然GrabTargetActor中设置的静态模型是一个立方体,可是放到关卡中之后,如图所示,是能够单独修改每一个GarbTargetActor实例里面的组件属性的。事件
利用该特性,能够很方便的作成扩展性比较强的功能来。get
5、Scene Component是Skeletal Mesh的父类,所以OnGrab定义的Hand为Scene Component,在调用OnGrab是能够将Skeletal Mesh类型的变量传递进来。class