HoloLens 应用程序渲染不出 Mesh 面片的解决方法

问题当项目在 Unity 测试 Mesh 面片渲染正常,而打包部署到 HoloLens 后就无法正常显示 Mesh 面片了。 失败原因可能出在 Holo 不支持程序代码所用的 Shader 着色器,需要使用 MRTK3 官方提供的 Shader 着色器。 解决方法默认前提你的项目已经安装了 MRTK3 开发包。 MRTK3 官方可用的彩色 Mesh 着色器为 Mixed Reality Toolkit/Dashed Ray。 UnityEngine.Mesh mesh = new UnityEngine.Mesh(); mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32; #当面片数量超过65535时需要设置此项 GetComponent<MeshFilter>().mesh = mesh; Material material = new Material(Shader.Find("Mixed Reality Toolkit/Dashed Ray")); GetComponent<MeshRenderer>().material = material;

2024年06月16日 · 1 分钟 · Cassius0924

Unity 脚本使用 NuGet 安装解决方案包

本文旨在教大家如何在 Unity 中使用 NuGet 安装解决方案包。 Visual Studio 集成了 NuGet 管理器,可以方便的安装和卸载解决方案包。但在使用 Viusal Studio 开发 Unity C# 脚本时,不能直接在内置的 NuGet 管理器安装解决方案包。因为 Unity 工程打开或运行时会刷新工程文件,导致我们在 Visual Studio 内置 NuGet 管理器安装的解决方案包失效。所以 Unity 使用 NuGet 安装解决方案包需要特殊步骤。 步骤下载解决方案包在NuGet官网下载你需要解决方案包,例如Google.Protobuf。 直接下载会下载最新预览版,稳定版需要点击右上角的 Full stats,查看所有版本。 找到稳定版 3.22.4,点击即可下载。 解压包下载后会得到拓展名为.nupkg的文件,先将文件拓展名改为.zip,接着解压即可。 导入dll文件解压后可以得到 dll 文件,位于 google.protobuf.3.22.4/lib/**/Google.Protobuf.dll ,将dll文件复制到 Unity 工程文件夹的 Assets/Plugins 文件夹下,若没有这个文件夹自己手动新建一个。 配置Unity项目接着需要将 Unity 项目的 Api Compatibility Level 更改为与 dll 文件对应的版本。打开 Unity 的 Project Settings,找到 Player > Other Settings > Api Compatibility Level。 ...

2023年06月01日 · 1 分钟 · Cassius0924