【VRTK4.0运动专题】手柄控制物体移动和旋转

原理

预设体将两轴转化为位置向量或角度后,调用运动脚本的方法,对指定的物体进行移动或旋转

步骤

1、将轴转化为位置向量或角度: 建轴转化预设体,关联两轴,

建“轴转位置向量”预设体AxesToVector3Action,其水平轴、纵轴, 分别关联手柄触控板的水平、竖直轴(下图一)
建“轴转角度”预设体AxesToAngle,其水平轴、竖直轴,分别关联手柄触控板的水平、竖直轴(下图二)
图一
在这里插入图片描述

2、准备带有要用方法的运动脚本: 建功能物体,挂载运动脚本,拖入要运动的物体

建空物体,重命名为movement,挂载TransformPositionMutator脚本,拖入要移动的物体(下图一)

建空物体,重命名为rotation,挂载FloatToVector3脚本、TransformEularAngleMutator脚本,拖入要旋转的物体(下图二)

在这里插入图片描述
在这里插入图片描述

3、调用运动脚本的移动或旋转方法

移动:AxesToVector3Action预设体直接调用功能物体movement上位置变异器脚本的DoIncrementProperty()
在这里插入图片描述
旋转:AxesAngle预设体,本该调用功能物体rotation上TransformEularAngleMutator脚本的DoSetProperty方法
但由于AxesToAngle把轴数据转化为的角度,似乎是浮点数,不能直接用,需先借助“FloatToVector3”的DoTransform方法转成Vector3三维向量形式的角度数据,然后“FloatToVector3”脚本再去调用TransformEularAngleMutator脚本的DoSetProperty方法,从而实现AxesToAngle间接调用DoSetProperty方法的目的。

另外注意,FloatToVector3脚本里,除了转换数据格式的DoTransform方法,还有一个CurrentY属性

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值