3D对象交互

下载资源包:MRTK.HoloLens2.Unity.Tutorials.Assets.GettingStarted.2.3.0.3.unitypackage

按照之前教程中的方法把资源包导入项目;

项目中对象可以在Hierarchy面板中,对象的前面有个小眼睛,点击一下会隐藏

创建对象集合

1、在Hierarchy中创建一个空对象,命名为3DObjectCollection,坐标设置为x=0,y=-0.2,z=2;

2、在Assets中,Assets>MRTK.Tutorials.GettingStarted>Prefabs;

3、会看到有Cheese、CoffeeCup、EarthCore、Octa、Platonic、TheModule六个预制体,全选,然后拖到3DObjectCollection中,设置为3DObjectCollection的子集;

4、在Hierarchy中创建三个Cube,尺寸全部修改为0.15;

5、为3DObjectCollection添加GridObjectCollection脚本,并将SortType修改为ChildOrder,然后点击UpdateCollection更新集合;

6、为上面创建的三个Cube添加不同颜色的材质球,资源包中的材质球位置为:Assets>MixedRealityToolkit.SDK>StandardAssets>Materials,选中材质球拖到Cube上即可;

7、官方文档中给出的的材质球为:MRTK_Standard_GlowingCyan,MRTK_Standard_GlowingOrange,MRTK_Standard_Green。材质球可自行选择。

添加操作脚本

1、全选3DObjectCollection下的子对象,在Inspector中点击AddComponent,搜索ManipulationHandler,添加此脚本;

2、Cube对象不做处理;

3、选中Cube1对象,将TwoHandedManipulation改为Scale,此操作为更改用对象大小;

4、选中Cube2对象,将Constrains下的ConstraintOnMovement修改为FixDistanceFromHead,此操作为移动对象时与用户保持相同距离;

5、Cheese、CoffeCup、EarthCore对象不做处理;

6、选中Octa对象,取消勾选AllowFarManipulation,此操作为取消远程操作,用户不可以通过辅助线来操作该对象;

7、选中Platonic对象,把OneHandRotationModeNear和OneHandRotationModeFar都修改为RotateAboutObjectCenter,此操作为旋转对象时,对象围绕自身中心旋转;

8、选中TheModule对象,在Inspector中添加RegidBody脚本,然后取消勾选重力引擎UseGravity;此操作为为对象添加物理引擎(刚体),但是取消掉重力引擎;

9、选中EarthCore对象,在Inspector中添加BoundingBox脚本,此操作为为对象添加一个边界框,用来操作该对象;

10、运行,查看效果;

添加触摸效果

1、选中Octa对象,在Inspector中添加AudioSource脚本,把SpatialBlend修改为1,用来启用空间音频;

2、继续为Octa对象添加NearInteractiontouchable脚本,然后点击FixBounds和FixCenter,用来修正触摸边界属性,此脚本为近距离可触摸脚本;

3、继续为Octa添加一个HandInteractionTouch脚本,此脚本为手动交互触摸脚本;

4、在HandInteractionTouch脚本的OnTouchStarted地方,点击“+”号新建一个事件,将Octa对象拖入此事件中;

5、继续在这个地方的后面的下拉选项中,选择AudioSource>PlayOneShot(AudioClip),然后再下面选择声音资源;

6、官方资源包的音频资源位置为:Assets>MixedRealityToolkit.SDK>StandardAssets>Audio,官方文档选择的是MRTK_Gem音频;

7、运行查看效果,远程触碰无效,需要触手触碰到八面体的时候才会播放音乐并且出现变色效果;

本节结束

官方链接:https://docs.microsoft.com/zh-cn/windows/mixed-reality/mrlearning-base-ch4

Hololens开发学习笔记-4相关推荐

  1. HoloLens开发学习笔记(一):HoloLens简介

    HoloLens开发学习笔记(一):HoloLens简介 一.HoloLens简介 Microsoft HoloLens是Windows Holographic的使用主要设备.HoloLens是一个W ...

  2. Hololens开发学习笔记-Gaze眼动跟踪

    简介 Gaze顾名思义--凝视.也可以说眼动跟踪,Hololens可以识别眼球注视的角度来发射出一条射线,来识别眼球所凝视到的物体,开启Gaze之后会有个小圆点,原点触碰到的物体会产生相应的事件. 配 ...

  3. Hololens开发学习笔记——TrackedHandJoint关节点详解

    Thumb=拇指 index=食指 middle=中指 ring=无名指 pink=小指 Metacarpal=手掌接近手腕的关节 Knuckle=手指根关节 Middle=手指中间关节 Distal ...

  4. ios开发学习笔记--Core Motion

    iOS开发学习笔记之CoreMotion-运动传感器 官网文档:CoreMotion Framework Reference 一.     简介 现在的苹果手机都基本有运动传感器,能够过获取到设备的加 ...

  5. 高性能Cordova App开发学习笔记

    高性能Cordova App开发学习笔记 文件结构 添加插件 构建准备 各个www的作用,prepare命令会将hello\www的内容会拷贝到platform下的wwww目录,知道该改哪里了吧?如果 ...

  6. Windows驱动开发学习笔记(七)—— 多核同步内核重载

    Windows驱动开发学习笔记(七)-- 多核同步 基础知识 并发与同步 分析 InterlockedIncrement 原子操作相关API 内核文件 多核同步 临界区 示例一:错误的临界区 示例二: ...

  7. Windows驱动开发学习笔记(六)—— Inline HOOK

    Windows驱动开发学习笔记(六)-- Inline HOOK SSDT HOOK Inline Hook 挂钩 执行流程 脱钩 实验一:3环 Inline Hook 实验二:0环 Inline H ...

  8. Windows驱动开发学习笔记(五)—— SSDT HOOK

    Windows驱动开发学习笔记(五)-- SSDT HOOK 系统服务表 系统服务描述符表 实验一:通过代码获取SSDT表地址 通过页表基址修改页属性 方法1:修改页属性 方法2:修改CR0寄存器 实 ...

  9. Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)

    Windows驱动开发学习笔记(四)-- 3环与0环通信(常规方式) 设备对象 创建设备对象 设置数据交互方式 创建符号链接 IRP与派遣函数 IRP的类型 其它类型的IRP 派遣函数 派遣函数注册位 ...

最新文章

  1. python爬虫原理-爬虫原理解析
  2. python英语字典程序-Pyqt5实现英文学习词典
  3. python 加载与解析xml
  4. Qt中的QBoxLayout
  5. 《当90后遇上创业》导读
  6. Google 要用 Flutter 一统移动、桌面开发江湖?
  7. JAVA 基础练习题
  8. Java检验yyyymm合法,JAVA日期格式校验正则表达式方法,yyyy年MM月,yyyy-MM-dd格式等...
  9. 华东师范大学计算机与电子科技大学比较,报录比
  10. DeepFool论文解读
  11. win7管理员取得所有权
  12. 可视化丨用数据分析福尔摩斯探案集
  13. Python小姿势 - # Python网络爬虫之如何通过selenium模拟浏览器登录微博
  14. 大数据之scala学习(一) 案例操作
  15. 2020互联网大厂职级对应薪资一览表。
  16. 详解VMware12安装Mac OS X 10.11
  17. java 关机命令_linux 关机命令shutdown
  18. 飞思卡尔I.MX6Q-LTIB安装配置
  19. 计算机启动F1正在准备自动修复,电脑正在准备自动修复(电脑一直循环自动修复)...
  20. java调用《上海发布》接口,获取特定公交到站信息

热门文章

  1. 大数据时代是什么意思?大数据是什么?
  2. sdkman的介绍、安装及使用
  3. 走访名校名企,助力生涯规划
  4. 华为rh2288v2服务器系统,扩展能力强 华为RH2288H V2服务器解析
  5. 服务器快速操作pc文件,如何将普通pc做服务器
  6. 高度自律学习者的app
  7. 仓库标准作业流程与WMS系统规划
  8. 大话设计模式—访问者模式
  9. linux mount error(79): Can not access a needed shared library
  10. Mybatis中的事务提交