Revit模型移动设备加载优化

BIM/CAD 模型可能包含大量细节,在智能手机和移动 VR 设备上加载时需要特别注意。以下是保持Revit模型整洁的一些步骤,以便任何人都可以毫无问题地加载它们。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

1、移动硬件上的 Arkio

Quest 设备使用移动处理器,Meta 建议不要在这些耳机上加载超过 250.000 个三角形,以保持以舒适的帧速率运行体验。 Arkio 支持加载高达 20M 三角形 (20,000,000) 的大型模型,我们建议你进行一些测试,以保证你的用户获得舒适的性能。如果需要在 Quest 或其他移动设备上查看大型模型,我们建议你在视图设置中关闭阴影,因为这将提高性能。

为了防止移动设备崩溃,我们添加了可以加载到 Arkio 的最大三角形数量和文件大小。当超过最大文件大小时,将不会加载模型,因为你的设备没有足够的内存来处理此文件。我们建议将场景中导入的三角形总数控制在 2000万个三角形以下,以便所有支持的 Arkio 设备都可以轻松加载模型。

PlatformRecommended trianglesMax. trianglesMax. file size
Windows PC<10.000.000100.000.0004.000 MB
Meta Quest 2<2.000.00020.000.0001.000 MB
Meta Quest Pro<2.000.00020.000.0001.000 MB
Meta Quest 3<2.000.00020.000.0001.000 MB
iOS<2.000.00010.000.000250 MB
Android<2.000.00010.000.000250 MB

如果你想在 VR 中加载非常大的 3D 文件,我们建议使用连接到 VR 耳机的功能强大的 PC( 例如,处于空中连接模式的 Oculus Quest 2)。PC 硬件支持的最大多边形数量要高得多,并且根据你的 CPU、GPU 和内存,Arkio 可以导入多达 1 亿个三角形模型。你可以在 Revit 导出期间或使用 Windows 3D 查看器打开 OBJ 文件时检查多边形计数。


如果你的模型有太多三角形,可以使用 Blender、3D Studio Max 等 3D 网格编辑软件或 Simplygon 等模型简化工具来减少模型

2、Revit 模型准备最佳实践

  • 使用 3D 剖面框仅裁剪场景的一部分(最快)
  • 对于导出,请关闭不需要的(子)类别、工作集和几何图形(如果您只处理外部,则不需要导出家具)
  • 可以隐藏以下Revit 类别:栏杆、植物、照明装置、管道装置、电气设备、机械、电气和管道类别。
  • 利用 Revit 的内置细节可见性设置(粗略、中等、详细)来减少 Revit 系列中图元的细节
  • 使用没有小角圆角和不需要的元素(如 3D 文本、螺钉/螺栓)的 Revit 系列,保留这些对象不仅会降低 Revit 和您的工作效率,还会降低您的其他工具的速度
  • 避免在 Revit 模型中加载 CAD、Rhino 和 Sketchup 参考,它们会使 Revit 变慢并需要更长的时间来导出
  • 如果计划在大范围内工作,请避免可能导致 Z-fighting 的薄/重叠表面和物体
  • 尝试对固体物体使用最小厚度 100 毫米
  • 在物体上应用更少的材料并简化其数量和使用。这将使你的 Revit 模型更加干净,并使转换过程更快。一个有用的工作流程是制作按名称和数量组织的多类别材料明细表,以便你可以轻松地发现项目中不必要的材料:

2.1 3DS Max 手动网格优化说明

使用 Link FBX 加载 3D 文件(或使用其他 3D 网格建模应用程序,如 Blender)

选择Autodesk Revit按材质组合,导入后绑定链接(需要查看多边形数量,稍后优化模型)

删除场景中所有非网格元素(OBJ不支持相机、灯光和组)

你的 Revit 原点可能对于在 Arkio 中放置/加载对象没有意义,可以通过右键单击变换工具并填充更好的位置(或使用精度较低的变换箭头)来修复所有网格的此问题

单击 3DS Max 视口上的 [+] 并配置视口以显示视图的多边形统计信息

检查网格的多边形数量,并对 100,000 个以上三角形使用 ProOptimize。尽量将三角形总数保持在 2M 以下,以保持几何形状与所有设备兼容

使用 ProOptimize 工具优化高多边形网格。选择对象后,单击“修改器”选项卡 > 下拉列表,搜索“ProOptimizer”。选择复选框以保留纹理,单击“计算”> 将“顶点%”减少到所需的水平,然后按“Enter”。所选对象的多边形数量应显着减少。你可以检查生成的几何体在场景中是否可接受。

Autodesk 使用与其他应用程序不同的材质系统,因此必须使用脚本或内置场景转换器将材质转换为标准材质。以及以下设置:

现在我们到达了使用以下设置导出 OBJ 的最后一步。 不要忘记选中“翻转 YZ 轴”复选框,因为 Autodesk 使用不同的坐标系


原文链接:Revit模型移动设备优化 - BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/597621.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

亏了亏了!双向孟德尔随机化阴性结果居然发了SCI二区(IF=6.7)

‍ 今天为诸位介绍的这篇文章是一项双向孟德尔随机化研究&#xff08;MR&#xff09;&#xff0c;惊讶的是&#xff0c;双向因果均为阴性结果发了SCI二区&#xff01;我们一起来看看&#xff01; 2024年4月17日&#xff0c;广东医科大学附属医院的学者做了一项双向两样本孟德尔…

绝地求生:PUBG杜卡迪联名进入倒计时3天!

大家好&#xff0c;我是闲游盒。 杜卡迪联名已经进入倒计时3天&#xff01;喜欢的朋友要注意结束时间可千万别错过&#xff01; 杜卡迪6色车辆 随着五一小长假的结束&#xff0c;本次混沌漫彩通行证也即将结束&#xff0c;本次通行证31级之后没升1级可额外领取1500BP和挑战者纪…

Spring与Mybatis-增删改查(注解方式与配置文件方式)

Spring框架下Mybaits的使用 准备数据库配置application.propertiespom.xml添加lombok依赖创建Emp实体类准备Mapper接口&#xff1a;EmpMapper预编译SQL根据id查询数据Mapper接口方法配置application.properties开启自动结果映射单元测试 条件模糊查询Mapper接口方法单元测试 根…

大模型时序预测初步调研20240506

AI预测相关目录 AI预测流程&#xff0c;包括ETL、算法策略、算法模型、模型评估、可视化等相关内容 最好有基础的python算法预测经验 EEMD策略及踩坑VMD-CNN-LSTM时序预测对双向LSTM等模型添加自注意力机制K折叠交叉验证optuna超参数优化框架多任务学习-模型融合策略Transform…

目标检测常用评价指标详解

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

数字孪生—物联网技术

数字孪生涉及到诸多技术领域&#xff0c;物联网技术在数据孪生项目中具有重要的应用价值&#xff0c;主要体现在以下几个方面&#xff1a; 1.数据采集和实时监测&#xff1a;物联网技术可以用于实时采集各种设备、传感器和设施的数据&#xff0c;包括温度、湿度、压力、振动等…

CMakeLists.txt语法规则:foreach循环的关键字

一. 简介 前一篇文章学习了 CMakeLists.txt语法中 foreach循环的基本用法。文章如下&#xff1a; CMakeLists.txt语法规则&#xff1a;foreach 循环基本用法-CSDN博客 本文继续 CMakeLists.txt语法中 foreach循环语句&#xff0c;主要学习 foreach循环中的关键字。 二. CM…

【OceanBase诊断调优】—— SQL 执行报错而不能计入 SQL_AUDIT 的情况

通常&#xff0c;执行成果的 SQL 都会计入 SQL_AUDIT 中&#xff0c;而执行报错的 SQL 则需要依据其执行报错的阶段来决定是否计入 SQL_AUDIT 中。 在 OceanBase 数据库中&#xff0c;SQL 请求的执行流程如图所示。 如果 SQL 在进入 Executor 阶段前发生报错&#xff0c;则该 …

java-Spring-Lombok-讲解-(一文一言)创伤是成熟的途径

高手都在孤独前进-致敬我们不悔的青春 我打算每篇文章下找一下文言警句-说不那天会用上&#x1f601;&#x1f601;&#x1f601;&#x1f601; 每篇一言 创伤是成熟的途径 希望经历过创伤的人,能更好享受当下, 爱自己胜过爱别人呀 目录 &#x1f3bb;Lombok简介 &#…

KIE关键信息抽取——SDMG-R

https://arxiv.org/pdf/2103.14470https://arxiv.org/pdf/2103.14470 1.概述 背景:传统的关键信息提取方法依赖于模板匹配,这使它们难以泛化到未见过的模板,且对文本识别错误不够鲁棒。SDMG-R方法:提出一种端到端的双模态图推理方法,通过构建双模态图(视觉和文本特征),…

Celery(分布式任务队列)入门学习笔记

Celery 的简单介绍 用 Celery 官方的介绍&#xff1a;它是一个分布式任务队列; 简单&#xff0c;灵活&#xff0c;可靠的处理大量消息的分布式系统; 它专注于实时处理&#xff0c;并支持任务调度。 Celery 如果使用 RabbitMQ 作为消息系统的话&#xff0c;整个应用体系就是下…

GStreamer日志调试笔记

1、查询所有分类 #gst-launch-1.0 --gst-debug-help 2、查询videotestsrc的日志 #gst-launch-1.0 --gst-debug-help | findstr videotestsrc 结果&#xff1a; 3、使用--gst-debug设置相应日志类型的相应等级&#xff0c;越大显示日志越多&#xff0c;排查内存泄露可以设置为9 …

【iOS】多线程

文章目录 前言一、多线程的选择方案二、GCD和NSOperation的比较二、多线程相关概念任务队列 三、死锁情况主队列加同步任务 四、任务队列组合主队列异步并发队列异步 前言 这两天将iOS的多线程的使用都看了一遍&#xff0c;iOS的多线程方案有许多&#xff0c;本篇博客主要总结…

打开深度学习的锁:(0)什么是神经网络?

PS&#xff1a;每每温故必而知新 什么是神经网络&#xff1f; 一、一个单神经元的神经网络二、多个单神经元的神经网络三、到底什么是机器学习&#xff1f;&#xff08;重点&#xff09;1&#xff1a;什么是机器学习的训练&#xff1f;2&#xff1a;什么是模型&#xff1f;权重…

python数据分析所需要的语法基础

Python语言基础——语法基础 前言语法基础变量标识符数据类型输入与输出代码缩进与注释 总结 前言 对于学过C语言的人来说&#xff0c;python其实很简单。学过一种语言&#xff0c;学习另一种语言&#xff0c;很显然的能感觉到&#xff0c;语言大体上都是相通的。当然&#xf…

【docker】常用的把springboot打包为docker镜像的maven插件

Spring Boot Maven Plugin: Spring Boot 自带的 Maven 插件 (spring-boot-maven-plugin) 支持直接生成 Docker 镜像。通过配置&#xff0c;可以在 Maven 构建过程中自动构建 Docker 镜像&#xff0c;而无需单独编写 Dockerfile。这种方法简化了将应用打包为 Docker 镜像的过程。…

武汉理工大学python123实验——流程控制结构

1.百分制成绩转换五分制#1707 n int(input())if n>90:print(A) elif n>80:print(B) elif n>70:print(C) elif n>60:print(D) else:print(E) 2.角古猜想#73963 n eval(input()) if n<0:print(ERROR) elif . in str(n):print(ERROR) else:print(n,end" …

Qt扫盲-Qt D-Bus概述

Qt D-Bus概述 一、概述二、总线三、相关概念1. 消息2. 服务名称3. 对象的路径4. 接口5. 备忘单 四、调试五、使用Qt D-Bus 适配器1. 在 D-Bus 适配器中声明槽函数1. 异步槽2. 只输入槽3. 输入输出槽4. 自动回复5. 延迟回复 一、概述 D-Bus是一种进程间通信(IPC)和远程过程调用…

Java面试题:多线程2

如何停止正在运行的线程 1,使用退出标志,使线程正常退出(run方法中循环对退出标志进行判断) 2,使用stop()方法强行终止(不推荐) 3,调用interrupt()方法中断线程 打断阻塞线程(sleep,wait,join),线程会抛出InterruptedException异常 打断正常的线程,可以根据打断状态来标记…

继承知识及扩展(C++)

1. 继承是什么&#xff1f; 继承是面向对象编程的三大特征之一&#xff0c;也是代码复用的手段之一。之前我们在很多的地方尝试函数的复用&#xff0c;而继承是为了类的复用提供了很好的方式。 &#xff08;1&#xff09;继承的代码怎么写 在一个类后面使用 &#xff1a;继承方…