创建一个新的Unity项目
转到Unity 存档页面并下载最新的2018.4版本或2019.4版本。其他Unity版本可能可以使用,但未得到正式支持,也未经过明确测试。
通过选择3D模板并选择项目名称和位置来创建一个新的Unity项目。Unity将在该位置创建几个文件夹,其中最重要的是Assets
文件夹。这包含项目的所有源文件,这是将安装MixedReality-WebRTC Unity 插件的位置。
导入MixedReality-WebRTC
为了使用Unity库,需要以下部分:
- 本机实现:(
mrwebrtc.dll
每个平台和体系结构一个变体) - C#库:(
Microsoft.MixedReality.WebRTC.dll
适用于所有平台和体系结构的单个通用模块) - Unity库本身(代码脚本和资源)
Unity库用 UPM软件包的 组件的形式发布这些库,包括所有受支持的Unity平台的预构建二进制文件。库包本身以及可选的示例包,我们可以通过以下两种方法导入到现有的Unity项目中:
- 通过从GitHub Releases页面下载UPM软件包来手动进行。Unity将该方式导入的软件包称为磁盘上的软件包或本地软件包,并且在正式的Unity说明中介绍了安装过程。
- 将UPM配置为使用官方的混合现实UPM软件包注册表后,通过Unity编辑器中的UPM窗口自动(半)自动进行。
在下面,我们描述第二种方法。
从Unity 2018.4 LTS和2019.4 LTS版本开始,Unity软件包管理器(UPM)支持自定义UPM软件包注册表,但没有用于配置它们的UI。而是,用户需要<UnityProject>/Packages/manifest.json
在要导入软件包的项目中修改文件。
<UnityProject>/Packages/manifest.json
在文本编辑器中打开文件。该文件应以(或至少包含)“依赖项”部分开头,该部分列出了当前项目所依赖的所有软件包。插入一个名为“ scopedRegistries”的新部分,以启用正式的Microsoft Mixed Reality UPM注册表,并将com.microsoft.mixedreality.webrtc
程序包(库)和(可选)com.microsoft.mixedreality.webrtc.samples
程序包(示例)添加为依赖项。
{
"scopedRegistries": [
{
"name": "Microsoft Mixed Reality",
"url": "https://pkgs.dev.azure.com/aipmr/MixedReality-Unity-Packages/_packaging/Unity-packages/npm/registry/",
"scopes": ["com.microsoft.mixedreality"]
}
],
"dependencies": {
"com.microsoft.mixedreality.webrtc": "2.0.0-preview.1",
"com.microsoft.mixedreality.webrtc.samples": "2.0.0-preview.1",
...existing dependencies...
注意
仅配置Mixed Reality UPM注册表是不够的,因为Unity的当前LTS版本不支持自动列出它的软件包。因此,也必须在“依赖项”部分中手动添加软件包。
完成后,保存文件并返回到Unity。UPM将通过配置的注册表解析新软件包,下载软件包,并将其导入Unity项目中。
警告
该库软件包com.microsoft.mixedreality.webrtc
当前包含Windows平台的调试符号(PDB),因此相当大(100 + MB)。Unity 将花费一些时间下载它,并且可能在“解决”步骤(模式对话框)中停止几分钟。要有耐心,让过程完成。
之后,软件包将在UPM窗口中可见。建议确保已安装最新版本。
可以从 “ Project” >“Packages” 检查软件包的内容:
创建对等连接
从这一点开始,我们开始构建场景。因为安装了MixedReality-WebRTC组件,并且由于我们现在几乎只在Unity内部工作,所以为了简洁起见,我们将使用术语“ Component”来指定一个Unity组件,该类是从派生的 MonoBehaviour
。
GameObject
用 PeerConnection
组件创建一个新的:
- 在“ 层次结构”窗口中,选择“ Create” >“ Create Empty”以将新
GameObject
场景添加到场景中。 - 在“ 检查器”窗口中,选择“ Add Component” >“ MixedReality-WebRTC” >“ PeerConnection”,以将
PeerConnection
组件添加到该新对象。 - 在“ Inspector”窗口的顶部,将新创建的游戏对象重命名为能让你记住的名字,例如“ MyPeerConnection”。您也可以直接在“ 层次结构”窗口中重命名该对象(例如,选择时按F2键)。
PeerConnection
MixedReality-WebRTC 的Unity 集成提供的组件具有各种设置来配置其行为。目前,您可以保留默认值。我们稍后会特别介绍添加一些收发器。
原创文章,作者:游戏开发极客,如若转载,请注明出处:https://hololens2.cn/hololens-2%ef%bc%8cweb-rtc%e8%bf%9c%e7%a8%8b%e5%bc%80%e5%8f%91%ef%bc%884%ef%bc%89/