Hololens 使用Box控制加载到场景中的物体

BoxController

制作Box模型及素材准备

使用UGUI控制

使用DOTween plugin 控制UI,模型上的动画渐变效果

添加Gaze,Gesture,Input功能

Hololens应用中将物体转入Box中对需要操作的物体进行操作,可以对物体的操作更方便,快捷丰富功能上的交互,减少手势控制上的难度。

  • 制作Box模型及素材准备
    1. 需要制作Box模型和UI按钮功能的图片素材
      Box中的8个小正方体代表缩放操作
    2. 在制作Box时需要为box的6个面增加透明通道
    3. UI素材需要有Highlighted Sprite
    4. 凝视,点击状态下对应着的Cursor图标
    5. Tip 的帧动画图片,程序来循环加载图片。
    6. 注意旋转与缩放时的相对位置与绝对位置。
  • 使用UGUI控制
    1. UGUI可以提供灵活多样的UI功能,Canvas具有世界坐标和屏幕坐标 ,方便了在世界坐标中模型信息动态的展示。
    2. SpritePacker提供了和NGUI中Atlas同样的图集制作功能,从而优化了Sprite占用资源,减少了DrawCall次数。
    3. EventSystem提供了丰富多样的方法能够准确的监听与响应UI功能上的事件
    4. 可以很方便的做一些遮罩裁切效果
  • 使用DOTween plugin 控制UI,模型上的动画渐变效果

    1. Tween补间动画通过设置属性有多种运动类型,并附有补间动画的回调方法。可以完成动画过程中的不同事件。
    2. 其动画效果可以不受Time.Scale的影响
  • 添加Gaze,Gesture,Input功能

    1. 搭建好Hololens开发环境,设置好Camera,添加Gaze,Gesture组件,Cursor预制物,在EventSystem下需要绑定HololensInputModule组件.
    2. Gaze: OnGazeLeave, OnGazeEnter中增加方法
    3. Gesture: onClick.AddListener,EventTrigger回调UnityAction事件或者是
      Hololens封装好的OnSelect函数中写点击后的响应事件。使用BaseEventData可以监听到按钮按下与抬起事件。

Tips

  • 1.使用SpritePacker打包图集的时候,将图集制作成prefab再放入Resources文件夹中,进行动态加载。
  • 2.为了在Hololens中显示Cursor图标,需要在Canvas下设置画布的碰撞区域,或者在按钮的背景单独添加碰撞区域。
  • 3.Sprite通过选中 Generate Mip Maps CheckBox来消除在3D空间中旋转移动出现的锯齿模糊。但会增加内存的消耗
  • 4.增加Canvas下Canvas Scaler组件中Dynamic Pixels Per Unit值可以有效解决3D 中Sprite Text不清晰现象。还可以预生成离散的SDF,通过修改O(n2)算法,n x n像素的图像来生成有号距离场增强在3D中文本显示的清晰度.
  • 5.使用UnityAction时Button组件下的Navigation枚举值设置为Automatic来监听点击 事件的按下与抬起 。如果枚举值为none,则会报空引用错误。
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值