使用Verge3D创建一个基于SCORM的电子学习应用 - Soft8Soft
Description: 了解如何使用 SCORM 转换器和拼图创建跨平台电子学习应用。

# 创建一个基于SCORM的电子学习应用

Verge3D可以完美地将您用Blender, Maya和3ds Max创作的3D内容转换成沉浸式的教育课件。使用Verge3D，您可以选择创建独立的电子学习应用程序，也可以将其集成到现成的学习管理系统（LMS）中去。为了简化其中的开发过程，我们在Verge3D软件包中开发内置了SCORM工具包。

- 为何使用 SCORM?
- 创建 SCORM 课程
- 在LMS中运行您的课程
- 使用拼图
- 创建一个多页面课件

有关使用示例，请查看 E-learning 演示（也可在资源商店中找到）。

#

## 为何使用 SCORM?

SCORM是当今最为广泛使用的电子学习标准。该标准得到了许多LMS的支持。简而言之，它是电子学习行业的事实标准。

SCORM还非常适合创建3D交互式电子课件，因为：

- 它是网络友好型的，因此您可以在喜欢的浏览器运行课程。
- 它支持运行WebGL(3D)和WebXR(AR/VR)等现代网络技术。
- 它使用JavaScriptLMS通信。

在Verge3D中，我们部署了最流行的SCORM-1.2版本。对SCORM 2004的支持正在考虑之中。

#

## 创建 SCORM 课程

Verge3D内置了 SCORM 生成器。只需单击以下图标：

然后在 Create SCORM Course Package 对话框中选择课程名称、课程 ID 和默认课程项目名称：

创建后，将带有SCORM课程的ZIP存档下载到您选择的目录中。

#

## 在LMS中运行您的课程

课程包可以上传到与 SCORM 1.2 兼容的任何 LMS 中。如果不确定，请选择以下选项之一：

- SCORM Cloud — 基于云的电子学习解决方案。需付费订购，但有面向小型机构的免费试用计划（每月10个用户注册，100MB存储空间）。
- Moodle — 免费和开源的解决方案，可以托管在您自己的基础设施上。

如果您要为教育机构创建内容，请咨询其技术人员，了解有关运行 SCORM 软件包的说明。

在本指南中，我们将使用 SCORM Cloud 来演示上传和运行 SCORM 课程的任务。

登录您的 SCORM 云帐户，单击右上角的 Add Content 按钮，然后选择 Import a SCORM, AICC, xAPI or cmi5 package ：

单击 Browse ，选择课程ZIP，然后按 Import Course 按钮：

等待上传完成，检查在此过程中是否未发生错误，然后单击 Course Sandbox 面板上的 Launch 按钮：

享受您的课程吧：

完成后，只需关闭弹出窗口即可返回 SCORM Cloud 课程配置页面。

请注意，当前页面没有反馈出有意义的成绩指标。如果想要LMS记录我们的记录，需要用到SCORM API。所幸我们已在Verge3D中包含了易用的拼图，让开发变得尽可能简单一点。

#

## 使用拼图

我们需要在SCORM包中部署的最小化功能集合包含如下:

- 初始化 一个与LMS的通信会话。
- 报告 课程状态 "incomplete(未完成)", "failed(失败)", 或 "passed(通过)"。
- 完成 通信会话。

实现这些拼图的方式很简单：

拼图 lms finish 在 beforeunload 事件处理程序中执行（当页面被关闭时触发）。这是一个很好的做法，因为我们会在应用运行时与LMS进行更多通信。

在许多情况下，仅报告课程状态是不够的，您可能还需要跟进学生的成绩。为此，将分数值存储 cmi.core.score.raw 元素里：

我们在此片段中使用了可选的 lms commit(提交至lms) 拼图，以提高LMS的UI的相应能力。

请参阅 E-Learning/SCORM 插件参考 手册，了解如何在电子学系课件中使用 SCROM 拼图的更多信息。

#

## 创建一个多页面课件

您可以在同一个 SCROM 包中使用多个 HTML 页面，每个页面都有着不同的 Verge3D 应用。但是，我们不建议使用此类方法，因为这会让事情变得复杂。

但是，这里有一个 pack add item(为包添加项目) 拼图，用于将类似页面的项目添加到课程中。若要使您的应用响应所选项目，请使用 pack get item ID(从包中获取项目ID) 拼图。例如：

在此处 下载示例项目。

即使没有问题或测验，也请确保为每个包的项目设置正确的课程状态（在这种情况下，只需在用户加载页面后将 cmi.core.lesson_status 元素设置为 passed ）。

## 遇到问题？

欢迎您随时在 论坛 上提问！您还可以加入中文用户社区 QQ群(171678760) ，在线寻求帮助。