SuperAPI AI 工具集

exploded-view

设计与创作

查看项目

更新于 11-03 20:17

技能介绍

用途

该技能用于制作交互式 3D 讲解页面,帮助用户理解机器或产品如何工作:部件按照装配顺序沿合理方向滑开,外壳变为半透明或被剖开,标注跟随部件移动且不会遮挡模型。讲解在浏览器中实时运行,访问者可以随时停下旋转观察。

主要能力

核心文件 assets/explode.js 提供 Exploder(分阶段爆炸)、Labels(带引线的固定标注)、Xray(外壳透明)、Section(外壳剖切平面)、Picker(悬停与点击)。assets/demo/ 是一个完整示例页面:以代码构建的感应电机拆解展示,支持滑杆、X 射线和剖切,可用 ?explode=1、?cut=1、?xray=1 设置状态。技能依赖 three.js(示例导入映射使用 r169),模型可用 threejs-scene 技法构建或加载 GLB。

使用方式

首先将模型组织为部件:每个部件是一个整体移动的 Group,作为同一装配组的直接子级,并为每个部件使用独立材质(X 射线和悬停会改材质,共享材质会导致所有部件同时变化)。加载 GLB 时按节点名把网格重新归入命名部件组,重新挂载时用 group.attach(mesh) 保留世界变换。

其次在 userData 中为每个部件设置运动:explode 为完全爆炸时的 [x,y,z] 偏移,未设置时部件沿远离装配中心的方向移动(若向 Exploder 传入轴则沿轴),并按距离缩放;stage 控制运动顺序,stage 0 先动,后续阶段在前一阶段完成一半时开始,建议按机械师的拆解顺序(先盖板外壳,再紧固件与端盖,最后内部件);shell:true 标记需 X 射线和剖切的外壳。爆炸状态布局应像技术插图:一条主轴、部件彼此清晰分开、大外壳移离轴线以露出核心。通过 const ex = new Exploder(assembly); ex.set(t); 驱动,t 从 0(装配)到 1(完全爆炸),滑杆输入可每帧缓动到目标值。

标注方面,使用 new Labels(document.querySelector(".labels"), camera, canvas) 创建,用 labels.add(part, "名称", {note, anchor}) 添加,anchor 用部件局部坐标,并选主视角下始终可见的点(如上边缘、轴端)。标注分两列贴在屏幕两侧,保持锚点垂直顺序,重叠时自动推开,引线连到锚点,部件隐藏或在相机后方时隐藏标注。每帧在 renderer.render() 后调用 labels.update()。样式通过 .label、.label b、.label span、.leader 及其 .focus 变体在 CSS 中定义。窄屏手机应隐藏两列标注,改用单个说明文字显示悬停或点按部件的名称。

X 射线与剖切:new Xray(assembly); xray.set(true); 将外壳设为 14% 不透明度且不写深度;需启用 renderer.localClippingEnabled = true,并用 new Section(assembly, [0,0,-1]); section.set(0); 剖切外壳前半,null 表示关闭。剖切只作用于外壳,内部保持完整,被剖材质设为双面以显示外壳内侧。

拾取使用 new Picker(canvas, camera, assembly.children, {onHover, onPick}),悬停轻微改变部件自发光并切换指针,点击可隔离部件、飞行相机或打开描述。

相机与取景:按当前屏幕形状适配相机,距离随爆炸程度变化(装配时近、爆炸时拉远),在用户缩放或旋转后停止自动调整;将 OrbitControls.maxDistance 提高到适配距离之上,否则控制会静默限制距离导致手机端裁切;使用略高于水平的三分之四视角(示例方向 0.42, 0.34, 1)可同时展示圆柱形机器的端面与侧面。

滚动驱动:将滚动进度映射到 ex.set(),可借鉴 scroll-film 的关键帧保持方式:介绍文字时为装配状态,按阶段爆炸并每阶段配说明,保持完全爆炸,再剖切;因模型实时渲染,访问者可在任意点停止并旋转。

渲染建议:产品摄影式灯光比天空环境更适合讲解,用 RoomEnvironment PMREM 提供反射、一盏带阴影的柔和主光投到 ShadowMaterial 地面、ACES 色调映射,并以页面背景色作为清屏颜色(不透明画布默认黑色)。金属用粗糙度 0.3–0.45、金属度 0.8–0.95,喷漆件可用 clearcoat。

适用场景

产品结构演示、机械原理讲解、装配顺序说明等需要拆解展示的教育或营销页面。

限制与注意事项

若讲解真实产品,应使用真实部件名称和装配顺序,并在页面文案中说明哪些内部细节为示意;错误的讲解会自信地传递错误知识。标注在 390px 宽屏幕上无法与模型并排显示两列。具体收费、支持平台等信息暂未提供。