第一章 - 创建项目
在使用Unity构建一个应用程序之前,首选需要创建一个Unity项目。 一个Unity项目会包含所有用到的资源,比如来自3D Max,Maya的模型文件,动画,场景,Photoshop图片以及脚本文件和其他会使用到的素材等。值得注意的是,Unity是使用windows 或者 mac 的文件目录结构本身来管理项目资源,它并不依赖于一个中央管理文件(类似Visual Studio中的 解决方案*.sln或项目文件*.csproj)。
Unity 本身支持使用C# 或者Javascript来撰写相应的脚本代码,你可以使用任何你喜欢的编辑工具来创建和维护这些脚本。 Unity会自动发现项目文件目录下的所有脚本,除此之外,如果脚本在Visual Studio或者其他的编辑工具中被修改保存后,Unity也会自动重新加载这些更改后的脚本。
如果需要编译和部署一个UWP程序的话,可以使用Unity来导出整个源代码然后使用Visual Studio 来完成后续的编译和部署功能,接下来我们就来看看如何创建一个Unity 项目:
第二章 - 设置摄像机
我们需要对Unity中的主摄像机做一些设置上调整来确保它能在Holoens的应用程序中处理头部跟踪动然后正确的渲染影像。
首先,想要更好的放置你的全息应用程序,我们必须先知道用户的位置在哪,为了方便起见,我们会使用世界原点(X:0,Y:0,Z:0)作为用户的起始位置,也就是主摄像机的位置,你可以将主摄像机想象为用户的双眼,随着用户头部的移动,主摄像机的位置也会不断更新。以此主摄像机的起始位置为参照,我们便能方便的控制和调整全息图像和用户之前的距离。 (注意,在Unity中开发Hololens的应用,一个Unit单位就代表现实中的一米)
接下来,我们需要更改主摄像机的背景设置,因为在一个全息的应用程序中,摄像头渲染的全息图像应该使用真实世界的影像来作为背景,而非采用默认的Skybox质地作为渲染背景。
最后,为了避免渲染的全息影像太过靠近用户的双眼,需要在Inspector面板中将Camera组件的Near clicp(视距)设置为Hololens的推荐值:0.85米,即双眼离全息影像的距离至少为0.85米远
第三章 - 创建全息应用
在Unity中创建一个全息影像的应用和创建一个普通的Unity项目并没有什么不同,当项目创建完成后,你可以基于Unity自带的坐标系统,很方便的放置一个3D模型(即最终输出为全息影像)在你希望的位置。别忘了Unity中的坐标系统既代表了真实世界的投影,Unity中的1个单位就代表真实世界中的1米 (比如将一个方块Cube 的X值设置为1,则以为着以世界原点为基准,该物体往X方向移动1米)
第四章 - 从Unity中导出至Visual Studio
当你跟随着之前的章节完成你的第一个全息应用的创建后,接下来要做到事便是从Unity中将项目导出到 Visual Studio中进行编译以便最终将你的全息应用部署到Hololens 设备或者Hololens模拟器中。在导出之前,我们需要在Unity对项目做一些设置上的调整
Unity 中的性能设置
对于Hololens而言,维持一个高刷新率是至关重要的,它直接影响到全息影像在现实世界中呈现的效果以及用户的感受。因此,我们有必要稍微牺牲一些画面上的质量以换取一个较高的性能。具体细节可参阅官方关于Unity 性能的文档 Performance recommend for Unity (目前仅有英文版本)
在2D/3D图形相关的开发的市场中,选择Unity作为开发平台的人占比超过50%之多,其中最重要的一个原因既是Unity 能方便迅速的编译和导出针对不同运行平台的应用程序。常见的包括了Xbox,Mac,Windows Store等等。
在本文中,我们的目标平台是Hololens,一个运行Windows 10的设备。因此,我们需要在Unity中将编译的目标平台选择为Windows Store来生成Universal Windows Platform的应用程序 (UWP程序可以运行在所有的Windows 10 平台上)
针对Windows 全息应用的导出设置
为了使Unity导出的应用程序能正确的以全息图像视野而非普通2D图像视野来显示,我们需要在Unity中进行一些相应的设置即添加Hololens作为其虚拟现实设备。
导出到Visual Studio解决方案
到这一步为止,我们构建的Unity项目已经全部设置好了,接下来我们将从Unity中把项目编译然后导出相应的Visual Studio解决方案及项目文件
设置应用程序为Windows 全息应用
在默认情况下,从Unity中导出的Universa Windows Platform 应用程序将会在所有的Windows 10设备上运行。但是对于全息应用程序来说,有些功能上的优势是holoLens有且仅有的,因此如果你不打算在其他非Hololens的Windows10 设备上运行你的应用程序的话,那么最好将应用的目标设备设置为仅运行在Hololens设备上。
第五章 - 编译和部署全息应用程序
现在我们唯一剩下的工作就是从Visual Studio中编译然后部署我们的第一个全息应用程序了。首先,在Visual Studio顶部的编译选项工具栏里,将目标从Debug改为Release ,平台从ARM改为X86. 接下来的步骤,需要取决于你是在模拟器中或者Hololens真机上进行部署,具体请参阅如下
通过Wi-Fi将应用部署到Hololens真机
通过USB将应用部署到Hololens真机
在Visual Studio的编译选项栏里,将设备这一下拉框中选择 Device
选择Visual Studio 的菜单目录 Debug > Start without debugging.
通过USB将应用部署到Hololens模拟器
当你成功的将第一个全息应用部署完成后,你将会看到一个方块悬停在你的面前,你可以走进它或者围绕着它细节观察和体验. Good Luck!