您的位置:首页 > 移动开发 > Unity3D

Unity虚拟现实开发——鼠标开关窗户效果多种实现方案

2017-04-12 10:59 411 查看
    在使用Unity进行VR开发中遇到鼠标拖动开关窗户的功能需求,我想到三种解决方案: 

    一:窗户模型必须经过建模软件的处理,使其坐标轴Y轴在窗子边沿;使用欧拉角改变鼠标拖动中的窗户旋转角度(eulerAngles),并使用Mathf.Clamp()限制其旋转角度;

    二:为模型录制关键帧动画Animation,在鼠标拖动过程中改变其播放顺序和速度;

    三:使用Unity提供的物理组件:HingeJoint(铰链关节)。

    下面演示第三种方案(使用铰链关节)如何实现开关窗户效果:



    我们勾选HingeJoint组件的UseLimits选项,并限制最大窗户开合角度为90度。

    代码如下:



    我使用了UGUI提供的事件接口(对于非UI的3D物体同样适用),目的是简化代码量,因为事件接口中为我们提供了现成的鼠标拖动增量值delta,可以很好的根据鼠标拖动速度改变窗子的开合快慢。

    运行效果如下:



    Pai大星微信——2463954659.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: