autodesk-forge - AR / VR Toolkit 减少模型网格以在 AR 中显示
问题描述
有没有办法减少网格多边形?
作为示例项目,我使用 Autodesk 提供的 TGA 模型。(https://knowledge.autodesk.com/support/revit-products/getting-started/caas/CloudHelp/cloudhelp/2019/ENU/Revit-GetStarted/files/GUID-61EF2F22-3A1F-4317-B925-1E85F138BE88-htm .html rme_advanced_sample_project.rvt)
如果将所有实例添加到场景中,您将获得大约 1.3M 的多边形数。对于计算机来说,这完全没有问题。该模型在大约 1 分钟内下载并完全显示。对于我的 iPhone(iPhone 8)来说,这显然太大了。一旦我启动 AR 场景并下载模型,内存需求就会上升到超过 1.2 GB(之前为 0.15 GB)并导致应用程序崩溃。
即使在处理场景以仅显示技术建筑设备之前排除某些实例(墙壁、天花板等),该模型对于 iPhone 来说仍然太大。
是否有可能使用 ar-vr-toolkit api 减少网格。我必须在 Revit 中手动执行此操作吗?
编辑:27.06.18 这是我想在 AR 中显示的模型(Tris:2.8m,Verts:2.4M)。
步骤: 1) 将原始 .rvt 文件 (70mb) 上传到我的存储桶。2)通过伪造翻译文件。3) 使用 ar-vr-toolkit api 创建了一个场景。4) 使用 ar-vr-toolkit api 处理场景。5)将场景下载到unity。6)创建了一个预制件。
网格是详细的方法。如果我将顶点数减少到 10-15%,图形不会有太大变化。在 Unity 中,我可以使用像 Mesh Simplify ( https://assetstore.unity.com/packages/tools/modeling/mesh-simplify-43658 ) 这样的资产来减少计数。另一种方法是将模型导出到例如 3D max 或 Maya 以减少计数。但我想尝试自动执行此操作。
我的问题是:有没有办法用 Forge 来解决这个问题?
解决方案
我这方面的专家同事现在正在休假,所以让我先尝试回答您的问题,我的同事稍后可能会添加更多信息。
不幸的是,答案是否定的。对于 Forge AR|VR 工具包服务,我记得如果检测到客户端设备是 Hololens 或 DAQRI,则会在服务器端自动完成一些网格缩减工作,如果检查https://github.com/wallabyway/ ,您可以获得该信息ARVRToolkit/blob/master/unity-src/ARVRToolkit/Assets/Forge/ARKit/RequestQueue.cs#L155。但仅此而已,我们没有提供任何 API 来帮助减少网格,而且 Forge 中也没有 API 可以做到这一点。
如您所知,您可能需要在其他产品中进行网格缩减,例如 3ds Max,这是我目前能想到的方式。
我的同事回来后可能对此有更多评论。
推荐阅读
- css - :hover 使用 React Router 时状态为“stick”
- python - 如何在 Python 中将张量转换为稀疏整数编码
- python - ValueError:未知标签类型:“连续”使用 DT 和 RF
- impala - 带有 Impala 的超集 - 无效的会话 id/无协议版本标头
- mongodb - bindIp 不适用于 MongoDb 的 ubuntu 16
- javascript - 可拖动的 JS 元素在按钮单击时不居中
- python - 控制麦克风捕获音量(Linux,命令行)断开监听脚本 - 修复?
- ios - 将 segue 添加到情节提要中的快捷方式到 ios 中的 uittabviewcontroller
- ios - 如何从 Firestore 获取对文档数组的引用
- python - 直线与直角棱镜的交点(Python)