使用Unity3D开发HoloLens三星应用市场开发者是怎样的体验

91%的HoLoLens应用是基于Unity引擎开发
来源:36氪快讯
&&微软首席项目经理布兰登?布雷(Brandon Bray)宣布,微软HoLoLens上91%的应用都使用了Unity引擎。不仅如此,Unity很快便会原生支持混合现实,为在今年下半年上市的宏MR头显提供便利。许多内容都是通过Unity引擎制作。这款游戏引擎为谷歌rdboard和Daydream头显,以及一众优秀的Oculus Rift和HTC Vive游戏提供支持。在本届Vision峰会上,微软表示他们及其合作伙伴同样倾向于使用Unity。
责任编辑:Robot&RF13015
机会早知道
已有&0&条评论
最近访问股
以下为您的最近访问股主题信息(必填)
主题描述(最多限制在50个字符)
申请人信息(必填)
申请信息已提交审核,请注意查收邮件,我们会尽快给您反馈。
如有疑问,请联系
CSDN &《程序员》编辑/记者,投稿&纠错等事宜请致邮
CSDN记者,专注人工智能,寻求合作请发邮件至
关注大数据、云计算、人工智能、IoT、移动开发领域
专注于物联网IoT M2M应用,擅长嵌入式以太网应用开发。一、Hololens概述
Hololens有以下特性
1、空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配。这保证了 HoloLens能够准确地在真实世界表面放置或展现全息图形内容,确保了核心的AR体验。
2、场景匹配HoloLens 设备能存储并识别环境信息,恢复和保持不同场景中的全息图像对象。当你离开当前房间再回来时,会发现原有放置的全息图像均会在正确的位置出现。
3、自然交互HoloLens 主要交互方式为凝视(Gaze)、语音(Voice Command)和手势(Gesture),这构成了 HoloLens的基本输入要素。同时传统的键盘鼠标等设备也被支持,自然的交互方式更贴近人类习惯,提高了交互效率。
4、 通用应用HoloLens 平台的操作系统为 Windows Holograpic,同样基于 Windows 10 定制。所以Windows 10 UWP 通用应用程序可以顺利地在 HoloLens 上运行。这不仅降低了研发和迁移成本,也让开发效率能够大幅提升。当然,说了很多 HoloLens 独特的特性和优点后,HoloLens 开发者版本也存在一些亟待解决的问题,包括视野较窄、凝视体验不佳、抗光线干扰弱和重量续航等问题。 但瑕不掩瑜,HoloLens 带来了真正的混合现实体验,拥有着强烈的冲击感,未来将大有作为。
二、开发环境搭建
开发Hololens之前需要准备以下环境(以下为我准备的环境)
2、(有真机可以不用模拟器)
4、Windows 10 SDK (10.0.14393.33) VS中进行安装
更加详细的环境配置可参考
三、集成HoloToolkit-Unity项目
在创建了标准 Unity 项目之后,我们需要集成微软官方提供的 HoloToolkit-Unity 项目。HoloToolkit-Unity 项目是微软官方的开源项目,用于帮助开发者快速开发 HoloLens 应用,能够快速为项目集成基本输入、空间映射和场景匹配等特性。
关于该项目的详细介绍,可以参考微软的开源项目
1、下载HoloToolkit-Unity代码&
2、使用unity打开HoloToolkit工程,右击Assets,导出Package
3、在自己的工程中使用HoloToolkit-Unity package
新建自己的Unity工程,Assets -& Import Package -& Custom Package 选择刚才导出的HoloToolket-Unity package, 导入成功后,可以看到HoloToolkit菜单
以下是此项目的结构和内容? Input 目录&& & ? GazeManager.cs 用于快速集成凝视射线特性;&& & ? GestureManager.cs 用于快速集成手势识别特性;&& & ? KeywordManager.cs 用于快速集成语音命令特性;&& & ? CursorManager.cs 用于快速集成可视化凝视组件。&? Sharing 目录&& & ? Sharing Prefab 组件用于快速集成场景共享特性。&& & ? SpatialMapping 目录&& & ? SurfacePlane Prefab 组件用于描述和渲染真实世界表面;&& & ? SpatialMapping Prefab 组件用于快速集成空间映射特性;&& & ? RemoteMapping Prefab 组件用于快速集成远程空间映射信息导入特性;&? SpatialSound 目录&& & ? UAudioManager.cs 用于快速集成空间声音特性。&? Utilities 目录&& & ? Billboard.cs 用于实现跟随用户视线特性;&& & ? Tagalong.cs 用于实现跟随用户移动特性;&& & ? Main Camera Prefab组件用于快速集成 HoloLens 标准主摄像机。
四、构建场景
1、新建空白场景后,我们需要删除原有的 Main Camera 对象,同时从 HoloToolkit/Utilities/Prefabs 目录中拖拽一个 Main Camera Prefab 组件到场景中,这样就集成了满足 HoloLens 需求的基本。主摄像机。对于 HoloLens,将主摄像机渲染背景设为纯色,颜色设为 RGBA(0,0,0,0)。因为任何纯黑的颜色将会被 HoloLens 渲染为透明,以达到不遮挡现实世界的目的。此外,HoloLens 建议摄像机视角近距离为 0.85,这个距离最符合真实人眼的体验。同时主摄像机位置必须重置为世界零点,即 xyz(0,0,0),任何全息图像将会以此为原点在周边世界中绘制出来。
2、点击& Create Empty& 创建一个空游戏对象,并将其命名为 Input,为 Input 对象添加核心脚本组件,分别为 GazeManager.cs、 GestureManager.cs、 HandsManager.cs 和KeywordManager.cs。这样就集成了凝视、手势和语音命令三大核心特性。对于凝视射线、手势识别和语音命令功能,均建议使用单例来进行管理,这样可以避免功能混乱,方便管理。同时为凝视设置可视化的指针,可以提高用户的交互体验和效率。
3、从 HoloToolkit/Input/Prefabs/ 目录下拖拽 CursorWithFeedback Prefab 组件到场景中。这样当凝视在全息对象时,其表面会出现可视化凝视组件。 当用户手势被识别到时,会出现一个蓝色的手掌图像,能够贴心的告诉用户可以操作了。
4、创建一个Cube对象并创建一个新的C#脚本,命名为 HoloTest.cs。
using UnityE
using System.C
public class HoloTest : MonoBehaviour {
// Use this for initialization
void Start () {
// Update is called once per frame
void Update () {
public void OnSelect()
//随机变换物体颜色
gameObject.GetComponent&MeshRenderer&().material.color = new
Color(Random.Range(0, 255) / 255f, Random.Range(0, 255) / 255f,
Random.Range(0, 255) / 255f);
5、HoloTest.cs 脚本的功能为随机更换对象的材质颜色,遵循 GestureManager.cs 中预设的OnSelect消息名称进入 Input 组件检视选项卡,为 KeywordManager.cs 组件配置语音命令。语音命令触发时将会执行相应的组件行为。 本例中,当我说出& test&时,触发Cube的 OnSelect 方法,来随机改变 Cube 颜色。
五、编译项目
1、为了满足HoloLens的需求,我们需要在 Player Settings 里面开启Virtual Reality Support,并在下拉列表中选中Windows Holographic,只有这样 HoloLens 才会将此应用渲染为3D应用,这一点十分关键。
2、同时从工具栏 Edit-&Project Settings-&Quality 选项卡中,将 UWP 平台默认画质设为Fastest。这是为了降低性能开销,官方推荐帧率为 60fps。&
3、Build Settings 视图中选择目标平台为 Windows Store,SDK 为 Universal 10,其他设置为如图所示,把Unity C# Projects勾上方便调试,点击 Build 按钮开始编译 UWP 项目。&
六、部署调试应用
使用 Visual Studio 打开编译后的 UWP 项目,在 Debug&(方便调试)选项上设置为x86(Hololens的系统类型,非计算机的)。&连接 HoloLens 到 PC,完成 Build 和 Deploy 后,我们在 HoloLens 中打开此应用。实际效果如图 所示。当我使用手势点击 Cube 时,它会随机变化颜色;而当我说出语音命令"test"时,Cube 仍会正常的变换颜色。
七、开发总结
使用 Unity 引擎开发 HoloLens 应用是非常容易的事情,大部分流程与开发 UWP 项目并无不同。但仍有不少需要注意的雷区和特殊要求,以下就是部分要注意的部分:&1. Main Camera 一定要按照官方要求配置,背景纯色且 RGBA 值为(0,0,0,0),这样才能避免遮挡现实内容;&2. Gaze 凝视特性需要我们使用 Raycast 来实现,注意处理射线未命中目标情形,默认凝视最远距离为 15 米,若是未击中物体,使用时可能会出现空引用异常;&3. 手势识别、拍照和语音命令等均需使用 Windows 特有 API,空间映射和场景匹配需要使用 HoloLens 特有 API;&4. 其他很多细节上的体验,例如可视化凝视组件、目标区域可视化指引组件,使用他们来给用户提示,可以帮助用户理解应用操作方法,提高使用体验。&
阅读(...) 评论()扫一扫,访问微社区
后使用快捷导航没有帐号?
签到成功!您今天第{todayrank}个签到,签到排名竞争激烈,记得每天都来签到哦!已连续签到:{constant}天,累计签到:{days}天
关注:1702
当前位置: &
__________________________________________________________________________________
开发者干货区版块规则:
  1、文章必须是图文形式。(至少2幅图)
& && &2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
& && &3、本版块只支持在游戏蛮牛原创首发,不支持转载。
& && &4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
& && &5、......
__________________________________________________________________________________
查看: 1109|回复: 2
HoloLens开发手记 - 使用HoloLens模拟器 Using HoloLens emulator
9排名<font color="#FF昨日变化8主题帖子积分
在线时间43 小时
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
本帖最后由 mantgh 于
19:12 编辑 HoloLens模拟器运行在没有真机的情况下在你的PC上测试应用,属于。模拟器使用了Hyper-V虚拟机。通常通过传感器获取的人体和环境输入通过键盘、鼠标或者Xbox手柄来模拟。应用不用修改即可运行在HoloLens模拟器上,它们也不知道它们没有在真实设备上运行。&部署应用到HoloLens模拟器上 Deploying apps to the HoloLens emulator&在Visual Studio 2015里载入应用解决方案注意:使用Unity是,通常在Unity里生成项目,然后再在VS中载入编译好的项目。确保目标平台是x86选择HoloLens模拟器作为目标设备前往Debug & Start Debugging或按 F5键启动模拟器部署应用及调试&第一次启动模拟器时,可能会花费较长时间启动。我们建议在调试期间一直保持模拟打开,这可以快速部署和调试应用。&基础模拟器输入 Basic emulator input&控制模拟器和玩3D游戏体验类似。可使用的输入选项包括键盘、鼠标或Xbox手柄。通过控制模拟器,你可以模拟用户穿戴HoloLens时的各种行为。在模拟器上模拟的行为将会被像真实设备那样回应。前后左右走动&- 使用W、A、S、D按键或者xbox手柄上的左操纵杆上下左右看&- 使用鼠标点击拖拽、键盘上的箭头按键或者xbox手柄上的右操纵杆点击手势&- 使用鼠标右键、点击键盘enter键或xbox手柄上A按钮绽开手势(Bloom)&- 点击键盘上Windows键或F2键、或者xbox手柄上B按钮用手拖拽&- 按住Alt键,按住鼠标右键,然后上下移动鼠标、或者在xbox手柄上按住RT和A按钮,然后使用右操纵杆上下移动。&详解HoloLens模拟器 Anatomy of the HoloLens emulator&&主窗口 Main window&模拟器启动后,你会看到HoloLens系统显示的主窗口。&&工具栏 Toolbar&模拟器右边,你会看到模拟器工具栏。工具栏包含以下按键:&&Close:关闭模拟器&Minimize:最小化模拟器窗口&Human Input:鼠标键盘被用于模拟人工输入&Keyboard and Mouse Input:键盘鼠标直接被用于对HoloLens系统的输入,就像你连接蓝牙键鼠那样。&Fit to Screen:自动调整模拟器尺寸以适应屏幕&Zoom:&缩放模拟器&Help:&打开模拟器帮助&Open Device Portal:打开HoloLens模拟器设备控制台&Tools:&打开额外的工具面板&模拟标签栏 Simulation tab&额外工具面板中默认是模拟标签栏。&&模拟标签页显示了模拟器内模拟出的传感器的状态参数。光标悬浮在任何一个值上面,都会出现一个如何控制该数值的工具提示。&房间标签页 Room Tab&模拟器通过模拟“房间”来模拟周边世界的空间匹配数据。这个标签页可以让你选择载入哪个房间模型来替代默认房间。&&模拟的房间对于在不同环境中测试应用很有用。一旦你安装好模拟器后,几个房间模型就会被传递进来,你可以在路径&%ProgramFiles(x86)%\Program Files (x86)\Microsoft XDE\10.0.11082.0\Plugins\Rooms下发现它们。所有的房间都是用HoloLens在真实世界中捕获得到:DefaultRoom.xef&- 一个有电视、咖啡桌、2个沙发的小客厅。启动模拟器时会被默认载入。Bedroom1.xef&- 有一个桌子的小卧室Bedroom2.xef&- 有一张大床、梳妆台、床头柜和衣橱的卧室GreatRoom.xef&- 带有客厅、晚餐桌和厨房的一个开放空间的大房间LivingRoom.xef&- 一个有壁炉、沙发、扶手椅和放着花瓶的茶几的客厅&你可以使用你的HoloLens设备控制台上模拟页面来记录自己的房间,用来在HoloLens模拟器中使用。在模拟器上,你将只能看到你渲染出来的全息图像而没法看到全息图像后模拟的房间。这与真实设备不同,真实设备上所有内容都会被展现。如果你想在HoloLens模拟器上看到模拟的房间,你需要更新的应用以在场景中渲染空间匹配网格。
每日推荐:
118/50排名<font color="#FF昨日变化63主题帖子积分
注册看看, 积分 18, 距离下一级还需 32 积分
注册看看, 积分 18, 距离下一级还需 32 积分
在线时间3 小时
感谢分享!!
每日推荐:
61120/1500排名<font color="#FF昨日变化2主题帖子积分
蛮牛粉丝, 积分 1120, 距离下一级还需 380 积分
蛮牛粉丝, 积分 1120, 距离下一级还需 380 积分
蛮牛币1501
在线时间325 小时
感谢分享,为什么下载链接不能点击
每日推荐:
游戏蛮牛给予质量较高、影响力较大的unity相关技术开发者的荣誉称号
社区QQ达人
使用QQ帐号登录论坛的用户}

我要回帖

更多关于 应用汇开发者平台 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信