Kanzi 3.9.3 发行说明

新增功能

功能改进

  • Kanzi Studio 与活动系统相关的改进:

    • 您现在可以使用来自引用的 Kanzi Studio 项目的 Activity 预设。

    • 改进了 Create Activity 对话框:

      • 您现在可以通过名称或 kzb URL 引用 Activity 预设。

      • 改进了 Prefab Template 下拉菜单中现有 Activity 预设的过滤。

      • 改进了验证逻辑。例如,您不能再选择已被祖先 Activity 使用的 Activity 预设。

      ../../_images/create-activity-and-prefab.png
    • 在 Activity Browser 侧面板中,Activity Prefab Template 下拉菜单现在显示所选活动预设的名称,而不是 kzb URL,您可以在工具提示中看到。

      ../../_images/ab-side-panel.png
    • 您现在可以在 Activity Browser 中使用预设占位符作为根活动主机节点。

  • 应用程序配置的改进:

    • 您现在可以通过控制 Kanzi 用于加载图像的第三方库中的内存消耗来提高 Kanzi 应用程序的安全性。请参阅 图像加载 (Image loading)。

    • 您现在可以选择 Kanzi 在 QNX 上使用哪种策略来内存映射文件。请参阅 MmapMode。

    • 您现在可以为您的 Kanzi 应用程序窗口设置 QNX Screen 管道 ID。请参阅 QnxPipelineID。

  • Kanzi Android framework (droidfw) 改进:

  • Kanzi Java API 改进:

    • 在 Node 类中添加了一组函数以访问节点更改标志。例如,Node.setChangeFlag(PropertyTypeChangeFlag)、Node.isChangeFlagSet(PropertyTypeChangeFlag) 和特定标志的方法,如 Node.invalidateMeasure() 和 Node.isInvalidMeasure()。

    • 所有内置消息类型现在都与其消息参数类相关联。

    • 所有内置消息参数类现在都为其所有属性提供了getter和setter方法。

    • 添加了对绑定的支持。现在您可以:

      • 创建单向、双向、到源、值源和资源源绑定。

      • 使用回调绑定处理器。

      • 使用 Node.setBinding()、Node.setBindingWithOwner()、Node.setModifierBinding()、Node.setModifierBindingWithOwner()、Node.removeBinding() 和 Node.removeBindingsWithOwner() 方法设置和移除绑定。

      请参阅 创建绑定。

    • 在相关类中添加了对 C++ 对应部分的访问,以简化与自定义 JNI 代码的集成。请参阅 使用自定义 JNI 扩展。

  • Kanzi Studio 项目模板现在通过指定 stripNativeLibs 属性支持从本机库中剥离调试符号。请参阅 剥离调试符号。

  • 对渲染通道的改进:

    • 您现在可以在任何渲染通道中设置 Camera 节点,该渲染通道及其子代使用该节点来渲染内容。请参阅 为渲染通道设置相机。

    • 在 Composition Target Render Pass 中引入了 Input Viewport Area 属性,该属性报告合成目标的视口区域相对于父渲染通道的合成空间的情况。请参阅 将内容渲染到合成目标。

  • Kanzi Engine 引入了一个 FocusManager::trySetFocus() 重载,使您能够在将焦点设置到节点失败时设置回退行为。

  • 在 QNX 上,您现在可以列出有关可用于您的 Kanzi 应用程序的显示器的信息。请参阅 打印屏幕显示信息。

  • 引入了对网格中 32 位索引的支持。

  • 当 mipmap 模式需要时,Kanzi 现在会自动为渲染目标纹理生成 mipmaps。

更改

  • Android application 和 Android application with Java plugin 新项目模板现在与 Android Studio 默认设置保持一致。

  • Kanzi Java API 更改。当您定义消息类型时,现在必须指定一个关联的消息参数类。因此,当您分派或处理消息时,必须使用与消息类型关联的消息参数类。Kanzi Studio 使用此关联为您提供可以设置或从消息参数中获取的属性列表。请参阅 Java API 中的更改。

  • Kanzi 现在默认情况下使用目标系统的默认策略来内存映射文件。例如,QNX 默认情况下使用急切映射。以前版本的 Kanzi 指示系统使用惰性映射。请参阅 MmapMode。

  • 变形着色器现在计算基础变形的权重。如果您想将此更改应用于使用旧变形着色器的项目,请参阅 对变形着色器的更改。

  • Kanzi Studio 现在使用 .NET Framework 4.8。请参阅 Kanzi Studio 插件。

  • 从 Renderer3D 中移除了 drawBuffers() 函数。来自 RenderEntry3D 类的数据驱动渲染路径取代了这些函数。

    您可以使用这些函数实现相同的功能:

    • applyMaterialStrict(node, material)

    • mesh->applySkeleton(coreRenderer, node, shader)

    • mesh->bind(coreRenderer, node, cluster, shader) (或 morph->bind())

    • coreRenderer.applyTransformation(shader)

    • coreRenderer.drawBuffers()

  • 将 kzb 文件格式版本更改为 17.0。

文档 (Documentation)

显著修复

ID

描述 (Description)

区域

383468

当您在 Trigger Condition 中通过资源 ID 将资源与 Fixed Value 进行比较时,Kanzi Studio Preview 不再终止。

Kanzi Engine

401937

修复了使用 iType Font Engine 时应用 Font Hinting Preference 的问题。

Kanzi Engine

401232

Kanzi 不再允许应用程序用户在禁用的 List Box 节点中选择项目。

Kanzi Engine

402604

修复了焦点系统消息分派以及 Kanzi 分派焦点消息的顺序。

Kanzi Engine

405914

现在调用 FocusManager::removeFocus() 会完全移除应用程序焦点,而不是将键盘焦点节点设为聚焦覆盖的逻辑焦点节点。

Kanzi Engine

395613

修复了一个问题,该问题阻止了 Apply Activation Action 在处于 Deactivating 状态的 Parallel Activity Host 中激活 Activity。

Kanzi Engine

402601

当键盘焦点移动到该 Activity 后面的覆盖层时,Parallel Activity Host 现在会停用自动关闭的覆盖层 Activity。

Kanzi Engine

404262

修复了在激活活动或更改其优先级时导致 Kanzi 在 Parallel Activity Host 中不必要地分离和重新附加活动的问题。

Kanzi Engine

413250

修复了当只有部分3D旋转通道被动画化时,Kanzi 忽略其他旋转通道的变换属性值的问题。

Kanzi Engine

400351

当解析应用程序配置文件失败时,Kanzi 现在会记录一条详细的错误消息,其中包括文件名。

Kanzi Engine

409473

修复了阻止创建多个蒙皮网格实例的问题。请参阅 蒙皮网格的更改。

Kanzi Engine

131174

修复了在 Kanzi 中导致 iType 和 FreeType 字体引擎之间字体度量计算不一致的问题。

Kanzi Engine

379057

修复了导致 Activity Browser 显示已删除活动属性的问题。

Kanzi Engine

406088

修复了在附加不可聚焦节点时导致缓慢的问题。

Kanzi Engine

412903

修复了阻止 Kanzi 更新 2D 节点的渲染目标纹理的问题。

Kanzi Engine

416090

修复了导致 kzWindowSize 固定统一变量工作不正确的问题。

Kanzi Engine

410928

修复了导致在 Kanzi Studio 中定义的 Java 插件 NodeComponents 终止 Preview 的问题。

Kanzi Java API

411080

修复了当 Kanzi Studio 项目 StartupPrefab (在 Node Tree 窗口中创建的预设)被设置为 KanziView 的启动预设时导致输入处理中断的问题。

Kanzi Android framework (droidfw)

410949

修复了即使在通过调用 KanziViewAdapter.setRoot() 设置根节点后,KanziViewAdapter.getRoot() 仍返回空值的问题。

Kanzi Android framework (droidfw)

374084

修复了在 Create Activity 对话框中键入某些字符会导致空引用异常的问题。

Kanzi Studio

398445

Create Activity 对话框现在允许您将活动命名为与现有活动预设相同的名称。

Kanzi Studio

401362

修复了阻止 Preview Node tool 选择具有 Foreground Brush 但没有 Background Brush 的 Empty Node 2D 节点的问题。

Kanzi Studio

404166

当焦点范围内的节点的 Focus Order 属性更改时,Kanzi 现在会保留键盘和逻辑焦点节点。

Kanzi Studio

410397

Kanzi 附带的 Phong 着色器现在支持同时使用蒙皮和变形。

Kanzi Studio

412874

Kanzi 附带的 Phong 着色器现在支持使用 KANZI_SHADER_MORPH_TARGET_COUNT 着色器预处理器定义配置变形目标的数量。您可以使用 KANZI_SHADER_USE_MORPH_TARGET_NORMALS 着色器预处理器定义禁用变形目标特定的法线。

Kanzi Studio

410615

Kanzi Studio 中的 fbx 导入器现在支持同时加载使用蒙皮和变形的网格。

Kanzi Studio

409499

修复了导致 fbx 导入器错误加载某些转换的问题。

Kanzi Studio

410612

Kanzi 现在可以从 fbx 文件中导入网格变形权重动画。

Kanzi Studio

274524

修复了蒙皮网格的 Preview 调试可视化。

Kanzi Studio

399181, 395617, 362488

Kanzi Studio 项目重命名现在可以与 Kanzi 活动一起使用。

Kanzi Studio

131174

修复了导致 Activity Browser 无法删除无效活动的问题。

Kanzi Studio

345314

修复了阻止 Kanzi Studio Preview 在您作为组合打开的 Scene 预设中渲染灯光的问题。

Kanzi Studio

401927

修复了 Kanzi Studio 无法导入包含超过 64k 顶点的网格的某些 3D 模型的问题。

Kanzi Studio

411007

修复了在重命名 Kanzi Studio 项目后无法在 Activity Browser 中添加 Code Behind 的问题。

Kanzi Studio

412556

修复了阻止在 Activity Browser 中向 Data-Driven Exclusive Activity Host 添加代码隐藏的问题。

Kanzi Studio

381124

修复了无法在 Kanzi Java API 参考中包含通用方法的问题。

Documentation

407827

修正了 教程:拖放 和 教程:从数据源获取应用程序数据 指令,以使用静态 create 函数来构建 DataObject 类。

Documentation

409433

Kanzi 教程和示例现在附带了您需要用于生成应用程序的 Visual Studio 2019 解决方案的 generate_cmake_vs2019_solution.bat 脚本。

Kanzi framework SDK

另请参阅

Kanzi 3.9.3 迁移指南

已知问题