合并工程

合并项目时,您可以重用在另一个项目中创建的资源和节点。合并项目允许您导入完整项目或仅导入选定的资源和节点。在合并过程中,Kanzi 提供冲突解决。

Kanzi 提供了以下选项以从其他项目中引入内容:

  • 您可以将整个工程引入当前工程。请参阅 导入项目。

  • 您可以合并 3D 资产文件中的 3D 资产。请参阅 合并 3D 资产。

  • 您可以仅将另一工程的一部分引入当前工程。请参阅 合并引用的 Kanzi Studio 项目的内容。。

  • 如果您想导入现成内容的集合,请使用 Kanzi Studio 资产包。

    请参阅 资产包。

  • 如果要导入使用第三方工具创建的资源,请使用 Kanzi Studio 导入工具。请参阅 导入。

合并 Kanzi Studio 项目。

要合并工程:

  1. 选择 File > Import > Merge Project,选择您要合并到当前打开项目(目标项目)的项目(源项目),然后单击 Open。

    Project Merge 对话框打开。

    ../../_images/merge-project-menu-option.png
  2. 在 Project Merge 对话框中设置:

    • Select referenced items。 当您希望 Kanzi Studio 自动选择所选项目所引用的所有项目时,选中复选框。

      例如,当您选中 Select referenced items 复选框并选择一个具有材质的网格时,Kanzi Studio studio 会自动选择您所选网格使用的材质、材质类型和着色器。

    • 变换。如果 Kanzi Studio 在将目标中的对象替换为源中的对象时遇到对象变换冲突,请将 Keep transformations from 设置为:

      • Target Project: <ProjectName> 以保持您在目标中使用的对象变换。Kanzi Studio 记住您在 Kanzi Studio 中对对象所做的所有变换更改。

      • Source Project: <ProjectName> 以导入您在源中使用的对象转换。

      ../../_images/merging-keep-transformations-from.png
    • 材料。如果 Kanzi Studio 在将目标中的对象替换为源中的对象时遇到对象材料冲突,请将 Keep materials from 设置为:

      • Target Project: <ProjectName> 以保持您在目标对象中使用的材质。Kanzi Studio 记住您在 Kanzi Studio 中对对象所做的所有材质更改。

      • Source Project: <ProjectName> 以导入您在源中用于对象的材质。

      ../../_images/merging-keep-materials-from.png
  3. 选中您要从源合并到目标的项旁边的复选框。根据目标项目中所选项的存在情况,项的名称使用以下方式书写:

    • 白色 字体。项目存在于源中,但不存在于目标中。当您选择此类项目时,Kanzi Studio 会在目标中创建它们。

    • 红色 字体。项目在源和目标中都存在,但在两者之间有所不同。

      您必须选择使用目标还是源中的项来解决冲突,才能继续合并。

    • 紫色 字体。项目存在于目标中,但不存在于源中。当您选择这些项目时,Kanzi Studio 会将它们从目标中移除。

  4. 如果要合并包含使用本地存储数据的数据源的工程,请参阅 合并包含使用本地存储数据的数据源的工程。

  5. 如果您正在合并包含 Kanzi Engine Plugins 的项目,请参阅 合并包含 Kanzi Engine 插件的项目。。

  6. 解决冲突。当您的目标和源都包含相同的项目且该项目的属性不同时,您必须决定要保留哪些属性:

    • 单击 Resolve to source 以使用源中的值解决所有冲突。

    • 单击 Resolve to target 以使用目标中的值解决所有冲突。

    • 单击 Use base project 以选择一个基础项目来解决目标和源之间的冲突。例如,Use base project 在合并两个项目或资产时很有用,这些项目或资产是初始项目的修改版本。

      使用三路合并时,Kanzi Studio 中的冲突解决方式如下:

      • 如果差异仅限于基准工程和目标之间,Kanzi Studio 使用目标中的更改。

      • 如果差异仅限于基准工程和源之间,Kanzi Studio 使用源中的更改。

      • 如果在基准工程和目标之间以及源和目标之间都有更改,则必须解决冲突。

    • 要手动解决冲突,选择源树中的项,并在冲突窗格中为每个属性选择要保留目标还是源中使用的值。

      • 您可以选择多个属性,然后单击 Resolve to Target 以保留目标中使用的值,或单击 Resolve to Source 以保留源中使用的值。

        ../../_images/merging-manually-resolve-to-target.png
      • 您可以从 Target 或 Source 列中选择一个要保留的值。

        ../../_images/merging-manually-resolve-to-source.png

    解决所有冲突后,源树中项名称的字体颜色将变为绿色。

  7. 点击 Merge。Kanzi Studio 通过将源的内容放入目标的相应位置来合并源和目标。

合并包含 Kanzi Engine 插件的项目。

当您合并具有相同名称但组件类型、数据源、消息或属性类型不同的 Kanzi Engine 插件的项目时,您无法在 Project Merge 工具中解决冲突。

../../_images/kanzi-engine-plugin-merge-conflict.png

要合并含有冲突 Kanzi Engine 插件的项目:

  1. 在 Kanzi Studio 中打开未使用正确版本 Kanzi Engine 插件的项目。

  2. 在 Library > Kanzi Engine Plugins 中右键单击插件并选择 Update Kanzi Engine Plugin。

    ../../_images/update-plugin-metadata.png
  3. 合并 Kanzi Studio 项目。请参阅 合并 Kanzi Studio 项目。。

合并包含使用本地存储数据的数据源的工程

通常,合并到 Kanzi Studio 项目中的数据源数据由您的应用程序连接的服务器提供。然而,如果您要合并的数据源的源文件存储在源项目中,则必须手动将它们从 <SourceProjectName>/Application/bin 复制到 <TargetProjectName>/Application/bin。如果您不将数据文件复制到目标项目,Preview 将无法启动。

使用版本控制工具合并工程

在配置版本控制工具后,您可以使用 Kanzi 合并工具进行 Kanzi 项目的更新和合并。对于集成,Kanzi 需要一个版本控制工具,该工具为 Kanzi 合并工具提供必要的参数。

参数类型示例

描述 (Description)

MINE

源工程的参数。

THEIRS

目标工程的参数。

基准 (Base)

基准工程的参数。

MERGED

合并工程的参数。

将 Kanzi 合并工具与版本控制工具集成

要将 Kanzi 合并工具与版本控制工具集成:

  1. 将您的版本控制工具配置为对 .kzproj 文件使用 Kanzi 合并工具 (<KanziInstallation>/Studio/Bin/KanziMergeTool.bat)。

  2. 将 KanziStudio.exe 的绝对路径传递给您的版本控制工具。例如,C:\Program Files\Rightware\Kanzi\Studio\Bin\KanziStudio.exe。

  3. 为 Kanzi 合并工具设置版本控制工具参数。例如,这些参数可以称为 MINE、THEIRS、BASE、MERGED。

将 Kanzi 合并工具与 SVN 版本控制软件集成

要将 Kanzi 合并工具与 SVN 版本控制软件集成,请将 Kanzi 合并工具添加为用于合并 .kzproj 扩展名文件的外部程序。

例如,如果您在使用 Tortoise SVN,在 TortoiseSVN 中选择 SVN > 设置 > 外部程序 > 合并工具 > 高级,然后进行设置:

  • 文件名、扩展名或 MIME 类型设为 .kzproj

  • 外部程序设为

    <KanziInstallation>/Studio/Bin/KanziMergeTool.bat "<KanziInstallation>/Studio/Bin/KanziStudio.exe"  %mine %theirs %base %merged
    

    例如,如果您的 Kanzi 安装在 C:\Program Files\Rightware\Kanzi 中,使用

    C:\Program Files\Rightware\Kanzi\Studio\Bin\KanziMergeTool.bat "C:\Program Files\Rightware\Kanzi\Studio\Bin\KanziStudio.exe" %mine %theirs %base %merged
    

另请参阅

导入项目

合并 3D 资产

资产包

工程 (Projects)

使用版本控制系统与 Kanzi。