# 导入

<callout>也可以使用[命令行界面](/spine-command-line-interface)导入Spine项目文件及JSON或二进制数据。</callout>

Spine可以导入其他Spine项目的数据，从而实现项目合并。Spine还可以导入与Spine导出的JSON和二进制格式相同的数据，从而可从其他程序(如图片编辑器[脚本](/spine-images#脚本))导入骨架。

# 项目

Spine可以从另一个Spine项目导入骨架或动画。这可用于将骨架从其他项目移到单个项目中。导入动画可用于多人处理同一项目，但有一些限制。

要打开导入项目对话框，请从主菜单中选择`导入项目`。

![](/img/spine-user-guide/import/menu-project.png)

输入要导入的项目文件的路径，然后选择导入骨架或动画。

![](/img/spine-user-guide/import/import-project.png)

## 骨架

<callout>导入骨架后，可在层级树中将某些项从一个骨架拖到另一个骨架。</callout>

导入骨架时，请选择要导入的骨架以及用于导入骨架的名称。

![](/img/spine-user-guide/import/import-skeleton.png) 

## 动画

<callout>可以将动画导入到一个完全不同的骨架中，只要该动画至少有一些骨骼和其他项使用相同的名称。</callout>

导入动画时，选择要导入的骨架和动画，然后选择要导入到的骨架。

![](/img/spine-user-guide/import/import-animation.png)

要导入动画的骨架必须具有与从中导入的骨架同名的骨骼、插槽、附件、事件和约束，但仅限于那些实际在导入动画中设置了关键帧的项目。此外，对于[变形关键帧](/spine-keys#变形关键帧)，网格在两个骨架中必须有相同数量的顶点。

如果骨架缺少被一个动画设置了关键帧的项目，则导入该动画将不含这些关键帧，并显示缺少项目的警告。

# 数据

<callout>你可以将数据从图片编辑器[脚本](/spine-images#脚本)导入到Spine中，继续在图片编辑器中工作，然后将较新的数据导入到同一骨架中。</callout>

Spine可以导入它[导出](/spine-export)的[JSON](/spine-json-format)或[二进制](/spine-binary-format)格式的数据。这提供了一条路径将数据从其他程序导入Spine，如从图片编辑器[脚本](/spine-images#脚本)导入。

您可以使用它从 JSON 或二进制数据和纹理图集中重新创建 Spine 项目。为此，请参阅[导入骨架数据](/blog/Importing-skeleton-data)博文。

要打开导入数据对话框，请从主菜单中选择`导入数据`。

![](/img/spine-user-guide/import/menu-data.png)

输入要导入的JSON或二进制文件的路径，或它们所在的文件夹，以及导入骨架的名称。

![](/img/spine-user-guide/import/import-data.png)

## 比例

<callout>例如，如果创建的Spine项目的图片比需要的大4倍，则可以选中`非必要数据`将其导出到JSON中，然后再导入到比例为0.25的新项目中。新项目使用的图片大小应为原始图片的25%。</callout>

导入数据`比例`会更改骨架的大小，而不会更改任何骨骼的比例。所有数据都已缩放：骨骼的位置和长度、附件偏移、边界框、网格、动画等。

如果创建的Spine项目的图片大小错误，可以将该项目[导出](/spine-export#JSON)到JSON，选中`非必要数据`，然后使用`比例`重新导入以更改骨架的大小。然后，新项目将使用不同大小的图片。

## 新建项目

选中后，数据将导入到新项目中。

取消选中后，数据将导入到当前项目中，并显示更多选项。

![](/img/spine-user-guide/import/import-data-existing.png)

### 创建新骨架

选中后，数据将作为新骨架导入到当前项目中。

### 导入到现有骨架

选中后，数据将导入到当前项目的选定骨架中。

### 现有附件

如果骨架已包含数据中的项:
* 选中`忽略`时将保持原样。这将保留可能对该项所做的任何更改。
* 选中`替换`时，将替换为数据中的项。

## 非必要数据

当导出JSON或二进制数据并选中[非必要数据](/spine-export#非必要数据)设置时，会导出运行时通常不使用的额外信息。如果稍后将数据导入回Spine编辑器，则该额外信息将用于配置导入的骨架。

如果导出JSON或二进制数据时未勾选`非必要数据`，然后将其导入回Spine编辑器，则导入会成功，但某些信息可能会丢失。

例如，运行时通常不需要边界框的颜色，所以只有在选中了`非必要数据`时才会导出。如果将导出数据导入回Spine编辑器，则边界框将使用默认颜色。

对于网格附件，网格外壳内的手动(橙色)[边](/spine-meshes#边)不是必要数据。如果在导出网格时未选中`非必要数据`，在导出的数据被重新导入到Spine编辑器时，网格将不会有任何手动边。网格有手动边时的三角剖分会保留。如果使用[编辑网格](/spine-meshes#编辑网格)修改网格，则会计算新的三角剖分。

[下一节: 命令行界面](/spine-command-line-interface)
[上一节: 纹理打包](/spine-texture-packer)
[Spine用户指南: 目录]