Unity 打包到HoloLens设备中默认视以2D平面的方式进去的,但是HoloLens一些默认的应用是3D launcher(模型)进去,比较炫酷。那么我们在Unity开发的应用,怎么做出来呢?
一. 正常打包APPX文件
这里第一步按照正常打包的步骤打包,不会的同学可以看看其他博客,这里就不赘述了
二.修改sln文件配置
1.双击打开打包文件夹的sln文件
2.右击Package.appxmanifest文件
3.选择带编码功能的XML文本编辑器打开文件
4.修改文件内容
将框住的部分修改为:
<Package xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
IgnorableNamespaces="uap uap2 uap5 mp"
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10">
第一部分
修改前
修改后
第二部分
<uap:DefaultTile Wide310x150Logo="Assets\WideLogo.png" > <uap5:MixedRealityModel Path="Assets\xxxx.glb" /> </uap:DefaultTile>
修改前
修改后
注意:MixedRealityModel path对应的是3D模型的路径,目前3D模型只支持glb格式的模型(建议放在Assest中)
转换模型glb地址:Autodesk FBX 到 Binary glTF:免费在线 Autodesk FBX 到 Binary glTF 转换器 (aspose.app)
五.修改glb文件
将Assets的glb文件拖入sln文件中,右击打开glb文件的属性,将内容选择为是
六:正常发布创建应用程序包,生成appx安装包,安装到HoloLnes中,点开对应程序,发现进入程序就变为3D模型进入
注意事项:
3D 模型时,必须满足一些要求
- 导出 - 资产必须以 .glb(文件格式)
- 建模 - 资产必须小于 10k 三角形,每个 LOD 不超过 64 个节点和 32 个子网格
- 材质 - 纹理不能大于 4096 x 4096,最小 mip 贴图在任一维度上都不应大于 4
- 动画 - 动画在 30 FPS(36,000 个关键帧)下不能超过 20 分钟,并且必须包含 <= 8192 个变形目标顶点
建模准则
- 向上轴应设置为“Y”。
- 资产应朝向正 Z 轴的“前方”。
- 所有资产都应构建在场景原点 (0,0,0) 的地平面上
- 工作单位应设置为计量和资产,以便可以在世界范围内创作资产
- 不需要合并所有网格,但如果面向资源受限的设备,建议使用此服务
- 所有网格体应共享一个材质,整个资源仅使用一个纹理集
- UV 必须在 0-1 空间中以正方形排列。避免平铺纹理,尽管它们是允许的。
- 不支持多 UV
- 不支持双面材质
微软原文文献: Implement 3D app launchers (UWP apps) - Mixed Reality | Microsoft Learn