HTC VIVE丨5. Linear Drive与Circular Drive的使用

Linear Drive

简介

Linear Drive:线性驱动

Circular Drive:滑行驱动

LinearDrive和CircularDrive一方面实现物体按照设定方式进行运动,另一方面输出数值到LInearMapping

LinearMapping提供0-1之间的数值,可用其改变其他物体的属性,如位置,时间等

属性

Start 、End Position:开始和结束点。该两点组成一条直线。Sphere起止点就在该两点上。刚运行时,Sphere会自动调整位置到和起止点同一直线上去

更改无形gameOjgect为有形方法:更改gameObject的图标,使其在场景中显现出来

LinearMapping:一个脚本组件,用于输出该物体在起止点上的比例,数值为0-1

Reposition Game Object:游戏物体重定位,即不勾选时,Sphere不可移动,但还会输出数值到LinearMapping

Maintain Momemntum:物体在滑动时是否具有惯性,即勾选后,停下滑动Sphere,Sphere还会根据惯性继续向前移动一段距离

Momemutum Dampen Rate:勾选上个选项后的阻力值。越大,物体停下越快

使用LinearMapping

实现:使用LinearMapping控制动画播放进度

为人物添加LinearAnimator脚本组件,赋值LinearMapping,Animator直接赋值人物便可

运行项目后,会发现滑动小球,人物会根据小球进度运动。反向滑动,人会运动会回退

实现该效果的原理是该脚本通过Value的数值控制动画的播放,我们完全可自己写代码,通过Value的值,实现各种效果

Circular Drive

新建Cube,为其添加Circular Drive脚本组件

Axis Of Rotation:设置物体绕X、Y、Z哪根轴旋转

Child Collider:物体如果自带碰撞体组件,只要接触到它,便可对它进行选转。但若类似门把手结构,我们将一个小球置于该Cube下成为它子物体,取消cube的Collider,该选项选择小球,运行项目时,旋转小球,便可实现方块的旋转

LinearMapping:同上

Hover Lock:勾选时,当手柄按住Trigger键移出感应区域,仍可像在感应区域内一样,对该物体进行操作。但取消勾选,则停止操作

Limited Rotation:

Limited:旋转是否被限制(旋转角度),勾选,则被限制,不勾选,则可无限制旋转

Frozen Distance Min Max Threshold:当距离最小或最大角度小于多少以内,便执行锁定(无论是否勾选Freeze On Min/Max)

Limited Rotation Min

Min Angle;最小角度

Freeze On Min:当达到最小角度时,锁定该角度,不能旋转(如论如何旋转,固定该模型位置)

On Min Angle():当达到最小角度触发的事件

Force Start:是否初始化角度

Start Angle:设定初始角度,若该角度大于最大角度,初始角度则为最大角度,最小角度同理

Rotate Game Object:类似reposition Game Object,勾选时,物体不会旋转,但会输出数值到LinearMapping

Out Angle:输出角度值。LinearMapping输出为0-1数值,该值为实际角度值

猜你喜欢

转载自blog.csdn.net/weixin_38239050/article/details/81276789