下载glb、gltf、fbx、obj,blend格式素材官网——glbxz.com
如果你把glTF格式的3D数据转移到另一个3D引擎,模型和动画可以显示出来,但像“选择时颜色变化”或“按下按钮时门会打开”这样的响应不会被迁移过来。 这个过程不是用三维数据写的,而是在读取数据的应用里。
KHR_interactivity是为填补这一空白而设计的glTF 2.0扩展。 模型特定的状态、条件分支和动画控件被保存到glTF/GLB,以便将它们一起传输到对应的环境。
Khronos集团于2026年7月16日宣布已提交批准。 然而,在公告时,尚未获得批准;它被定位为候选规范(发布候选),等待正式批准。KHR_interactivity

KHR_interactivity填补的“空白”
例如,考虑一个产品模型,当选中某个零件时,拆解动画开始。
传统的GLB包含产品的形状、质感和动画。 检查哪些部分被选中并决定播放哪些动画的过程,在应用端实现,如three.js、Babylon.js和Unity。
在这种配置下,每次模型转移到其他发动机时,控制项都会被重写。 通过这种方式,选择后的状态变化和动画控制可以作为“行为图”包含在GLB中。KHR_interactivity

这并不意味着应用代码不再必要。 应用继续处理鼠标或XR控制器的输入接收、屏幕界面和通信等任务。 可以转移到GLB的是模型内完全定义意义的反应——比如选择后变色、移动部件或进入下一个状态。
动作由连接节点编写
在行为图中,事件、计算和条件分支等过程由称为“节点”的方框表示,这些方框通过线连接以组织执行顺序。
如果每次选择红绿灯颜色都会变化,流程如下。
信号機が選ばれる
↓
現在の色を確認する
↓
次の色を決める
↓
新しい状態を保存する
↓
表示とアニメーションを更新する连接节点的线路有两种类型。 有一个“流程”传递处理顺序,另一个“值”传递三维模型中的数值、颜色、真值和参考值。 在规范中,这些分别称为流套接字和值套接字。
在图中,你可以定义变量,记住当前状态或开始处理的事件。 信息包括当前红绿灯颜色、所选产品的颜色以及操作指令的进展程度。
读取和写入位置,如位置、旋转和材料,基于glTF的数据结构,而非特定3D引擎的内部函数。 拥有这一统一标准使得在不同执行环境中更容易复现相同结果。
它并非设计用来嵌入JavaScript。
KHR_interactivity不是一种允许JavaScript或C#程序在GLB内自由运行的机制。 将规范中定义的进程合并为节点。
相比允许任意程序,更容易理解可以执行哪些进程。 然而,这并不意味着你可以忽视处理负担。 禁止直接连接节点如环,但提供了重复和延迟处理。 为了防止长时间不间断的处理,观察器和三维引擎可以限制每帧中的进程数量和执行时间。
要小心动画自动播放。
KHR_interactivity对于包含glTF的数据,glTF的动画由行为图控制。 观众也必须按照规范不自动播放动画。
在给现有GLB添加图表时,你需要检查加载后是否会立即自动播放。 由于多个同时改变相同位置或材质的动画无法决定结果,更新目的地设计使它们不重叠。
WebXR API 保持不变。
KHR_interactivity不是WebXR设备API的扩展。 浏览器连接XR设备、手柄、手部追踪和增强现实命中测试的方式保持不变。
对于使用VR控制器选择展品的体验,处理过程分为如下:
- WebXR应用接收控制器输入
- 应用程序会决定它选择了哪些展品。
- GLB中的行为图允许你在展览的状态和动画之间切换。
鼠标、触摸、手柄和眼睛输入之间的差异由应用端吸收,而选择后的反应则由GLB端标准化。 这种设计减少了在桌面、智能手机或虚拟现实中重复使用同一模型时所需的重写次数。
规范还包括一种机制,可以从图中引用当前相机的位置和方向。 但在VR中,每只眼睛都有独立的摄像机。 根据操作环境不同,如果使用一台摄像头,且摄像头位于两眼之间,且摄像头位于两眼之间,出于隐私原因可能无法传递信息。 对于使用距离相机的动作,你需要查看每个目标环境的结果。
插入 GLB 并保留文件的进程
分割的指导原则是单纯的过程对3D模型来说是否合理。
| 目的 | 这些过程使插入GLB更为便捷 | 应用中需要留下的流程 |
|---|---|---|
| 产品颜色与零件变更 | 切换选中的状态、颜色和显示 | 价格、库存、购买界面、沟通 |
| 展览与教学材料 | 程序状态、部分重点、动画 | 切换语言、朗读和保存进度 |
| 一个当你靠近时会移动的机制 | 距离确定与运动开始 | 提供相机信息和XR课程 |
| 小型游戏元素 | 评分、条件分支、移动对象 | 输入分配、通信与数据持久化 |
例如,即使你创建了一个叫“图表”的事件,仅凭这样做也无法支付费用。 认证、服务器通信、多用户同步、HTML界面创建以及无障碍管理等任务由应用负责。checkout
“交互式GLB”这个词听起来像是整个应用运行在独立的文件上。 实际上,更准确的做法是将其视为重新划定GLB与应用界限的规格。
单靠“glTF支持”是行不通的
自2026年7月20日起,您是正式批准前的释放候选人。 在 glTF 扩展注册库中,它被列为发布候选项目,而非正式批准。 该前缀并不表示该法案已被批准。KHR_interactivityKHR_
可用于创建和验证的发布工具包括以下几种:
- 交互式图创作工具:创建、验证和导出图表
- 导出使用 UnityGLTF 创建的图表:Unity 视觉脚本
- Babylon.js glTF加载器的实现:加载
KHR_interactivity
即使是普通的GLB查看器也可能无法运行行为图。 仅仅产品页面上提到“glTF支持”并不代表判断,所以我们会单独查看支持情况。KHR_interactivity
在不兼容的环境中,只保留外观
如果你想在不支持该操作的环境中显示模型,就保留基本数据在不使用扩展的GLB中。
glTF 指定了所使用的扩展,表明没有它,数据无法正确处理。 如果它可以作为产品或展览展示而无需任何行动,请考虑是否应将其强制要求。extensionsUsedextensionsRequiredKHR_interactivity
执行环境中未知的进程根据规范被视为“无”进程。 这种行为可能导致模型在中段可见但不响应,而不是因为错误而整个过程停止。 必须将其呈现为静止模型,显示屏幕上无响应,或切换到应用控件,以免用户误以为是故障。
如果你想试试,先从红绿灯的样品开始
如果你是第一次尝试,官方公告中也介绍了《红绿灯》试玩版是个不错的选择。 当你操作红绿灯时,GLB开关中保存的状态会依次保存。
演示结束后,你可以从官方样本集中获取相同的GLB,并使用交互性图创作工具打开其内容。 将屏幕上的反应与事件、变量、条件分支和动画之间的联系进行比较,有助于理解图表的作用。
导出的GLB不仅在用于创建的环境中被检查,还能在其他支持的环境中打开。 由于设计旨在便携,仅在一个环境中运行不足以提供足够的验证。
对于实际招聘仍然有些谨慎
有了官方样本和编辑工具,你可以立即开始原型制作。 另一方面,是否能长期分发产品数据或教育资料,则取决于对应的观察者和运营时长。 这是因为规范尚未被批准,也尚未完全实施。
如果你想从原型开始,至少要记录以下内容。
- 所使用的规范、编辑工具、导出功能及运行环境版本
- GLB与应用部门的职责
- 在两个或多个支持的环境中,结果会相同吗?
- 在不支持环境中展示什么
- 智能手机和集成VR头显的处理负载
在WebXR中,处理延迟直接影响用户体验以及醉酒的难易度。 不要因为它运行在桌面端就评判你;你需要检查你要的头显上的操作系列。
当前视角
KHR_interactivity价值不在于仅凭GLB完成应用,而在于能够将特定型号的处理与应用分离。 对于使用同一产品或跨多个设备、查看器或3D引擎展品的项目,可能有可能减少重复实现。
然而,GLB 不处理输入、用户界面、通信或 WebXR 会话。 如果你在没有决定模型动作中占多少的情况下引入它,就很难判断处理是由GLB还是应用来处理。
此阶段,合理的做法是先比较多个支持环境的官方样品,以确认它们是否符合生产流程。 正式批准后,需要重新确认规范的变更以及每个工具的兼容性状态。