(个人)VR实时交互的太极拳学习系统创新实训第六周(1)

16 篇文章 0 订阅
15 篇文章 0 订阅

在上周实现了如何通过手柄来进行角色的瞬移,但是拿取手柄需要玩家反复的脱下和带上头盔,非常不方便。经过小组讨论之后,设想如下:通过头盔确定需要到达的位置,使用两个胳膊的碰撞来决定时候需要进行瞬移操作。


首先,将控制移动的位置移动到头盔上面,在should update facing direction方法中,将当前头盔的朝向和箭头的朝向做对比,返回一个bool值。


Make Rotator:第一个参数是左右旋转,第二个参数是最高点,第三个参数是偏离值;之后返回的是一个旋转体。


下面这个函数是进行抛物线与地面相交的判断:start Pos:表示起始位置,launch Velocity:表示发出射线的速度(包括方向),Object types数组表示,需要计算碰撞的类型。输出值返回了一个碰撞信息,需要通过break hit result方法获取想要的碰撞信息。


Break hit result方法:


  • 是否发生了被拦截的碰撞
  • 是否是初次碰到
  • 表示指示起始时间和结束时间(0-1)
  • 从发出的地方到碰撞地方的长度
  • 碰撞发生的位置
  • 冲击点,随着碰撞物体表面变化的点
  • 碰撞点的法向
  • 和上面那个相同
  • 碰到的物理材质
  • 轨迹碰到的actor
  • 轨迹碰到的原始物体
  • 碰到的骨骼的名字
  • 碰到的最初项目的列表
  • 如果碰撞是三角面片和地形,返回索引值
  • 轨迹开始的方向
  • 轨迹结束的方向

因为不能移动到垂直平面上:


在nav上投射出玩家需要处于的位置


这里的输入point就接到前面输出的laocation上,之后返回一个映射得到的location,就是在nav网格上处于的位置。


图中绿色的区域就是navigation网格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值