对于基于Motion Controller的操作方式来说, 是最最基本的一个功能了. 然而, 这个看似简单的功能, 却有很多问题, 没有办法做到非常完美.
常见实现方法
不就是把物体挂到手上吗?...与静态场景模型的碰撞
当我们手上没抓东西时, 让手插入静态场景模型(比如墙壁), 怎么处理? 一种做法是让手保持与现实中的位置一至, 一种做法是让手留在碰撞的地方不动....方法1在速度非常快的情况下会击不出球, 因为前一帧在球前, 后一帧就跑到球后面去了. 方法2球拍会停在与球接触的地方. 方法3和方法4可以符合预期....见参考资料2
物体的触感
不同材质, 不同重量的物体, 可以通过控制器的振动频率和振幅来进行模拟.
物体与手的相对位置(和旋转)
有些物体我们希望任意位置都可以抓住, 比如球, 花瓶, 玩具等....有些物体我们希望手拿起来就在把手位置, 比如球拍, 手枪等. 这种可以在物体上设置挂点解决.