Kanzi 3.2 发行说明

新增功能

以下功能是 Kanzi 3.2 中的新功能:

功能改进

  • 状态机现在包括:

    • Start Time 属性可用于设置转换到该状态开始的延迟时间。

    • 改进了 3D 变换插值,这样您可以在迁移中使用最短或最长路径。

    请参阅 使用状态迁移 和 动画系统 (Animation System)。

  • 您现在可以在您的 Kanzi Studio 项目中设置您想要用作默认单一纹理和立方体贴图纹理的纹理,或者完全移除它们以减小导出的 kzb 文件的大小。请参阅 设置默认资产 和 删除默认纹理和图像。

  • 添加了对预过滤立方体贴图的支持,以便您可以在单个 .dds 图像中提供立方体贴图面及其 mipmaps。例如,这允许您创建预过滤的 mipmapped 辐射环境贴图以模拟环境反射,以及用于模型漫反射照明的辐照度立方体贴图。

    由于您现在可以使用 .dds 文件用于预过滤立方体贴图和 mipmaps,Kanzi 不再支持 .dxt 文件格式。请参阅 导入图像 和 使用环境纹理贴图。

  • 对立方体贴图面施加了更严格的要求。立方体贴图面现在必须是正方形且大小相同。请参阅 使用环境纹理贴图。

  • Mipmap Mode 属性的默认值现在是 Base,而不是 Nearest。在 Kanzi Studio 中启用需要 mipmaps 的纹理图像的 mipmaps 生成。请参阅 使用 mipmap。

  • 在导入和使用本地化表时,Kanzi Studio 的性能有了显著提高。

  • 改进了对长名称 PSD 层的支持。

  • 改进了对长文件系统路径的支持。

  • 更改了 Preview 中的 3D 节点选择器,以避免选择当前的 Camera 节点,并重新启用了 3D 选择器中的深度缓冲区。

  • 禁用了所有 2D 布局节点中的默认剪辑。

API 更改

除了与功能改进相关的 Kanzi Engine 更改之外,这些是对 Kanzi Engine API 的更改:

  • 添加了新的动画系统。请参阅 动画系统 (Animation System) 和 使用 Kanzi Engine API 创建动画和时间轴。。

  • 将渲染器 API 转换并改进为 C++。请参阅 Kanzi 3.2 迁移指南。

  • 结束了属性和消息类型到 C++ 的转换。

  • 更改了 Lightness (L) 节点和网格变形,以在没有结构和数组属性类型的情况下工作。

  • 移除了 struct 和 array 属性类型。

  • 结束了转换,可以只使用普通 shared_ptr 来跟踪资源对象。

  • 转换了使用绑定的约束。

  • 通过 Kanzi 命名空间公开常用的 std 和 boost 类和函数。请参阅 Kanzi 3.2 迁移指南。

  • 在 KzsWindowProperties 中添加了窗口 z-order 整数属性。请注意,合法值范围特定于运行应用程序的平台。

  • 始终为渲染目标使用 RGBA 格式。RGB 纹理格式在 OpenGL ES 中不保证可渲染。

  • 即使将 alpha 设置为零,不透明的 Color Brush 也会被渲染。

  • 将 logExtensions() 添加到 DefaultRenderTarget。

  • 添加了单个 API 以打印 OpenGL 信息 Renderer::logOpenGLInformation()。这取代了 kzsLogOpenGLInformation() 和 Renderer::printInfo()。

  • 改进的 Image2D::updateRenderOverride()。

  • RenderStateResourceContainer() 现在支持帧缓冲区。

  • 改进了应用程序和 Preview 的默认资产的分离。

  • 集成:

    • 添加了 Integerity WSEGL 和 Mali fb 本地窗口支持

    • Integrity GHS FB API 窗口系统

    • Integrity GHS GBM 窗口系统

    • Integrity RCar-H2 构建配置

  • 升级了 Kanzi 使用的这些库:

    • Libjpeg 到 9a 版

    • Libpng 到 1.2.52 版

    • Zlib 到 1.2.8 版

请参阅 Kanzi 3.2 迁移指南。

文档 (Documentation)

在 Kanzi Studio 中的修复

  • Kanzi Studio 现在可以正确合并或导入来自项目的触发器。

  • Kanzi Studio 现在可以正确地将布尔属性类型转换为枚举。

  • 导入或合并工程时,工程数据文件现在可以正确导入或合并。

  • Node tool 现在根据视野缩放节点。

  • 您现在可以使用字体导入程序在 Kanzi Studio 中导入OTF格式的字体。

  • 即使在项目路径中包含非拉丁字符,Kanzi Studio 现在也能正确创建项目。

  • Kanzi Studio 现在可以正确地移除 Screen 节点上的 Layout Transformation 属性。

  • 当您更改状态时,Preview 现在会正确更新预览相机。

  • Preview Text Block 2D tool 现在可以在 Prefabs 中正确地与 Text Block 2D 节点一起工作。

  • Kanzi Studio 现在在 Library > Meshes 中右键单击网格并选择生成法线时正确生成法线。

  • Pages 现在显示所有 Page 节点,而不考虑缩放级别和 Page 节点的数量。

  • Pages 现在与 Node Tree 中的更改同步。

  • Pages 窗口现在正确显示连接 Page 节点的线条。

  • 现在,复制和粘贴键盘快捷键在 Pages 中正常工作。

  • 当您导入缺少属性的本地化表时,Kanzi Studio 不再崩溃。

  • 着色器代码不会再导致 Kanzi Studio 崩溃。

  • 当您撤销删除属性时,Preview 现在正确显示撤销操作。

  • Kanzi Studio 现在从触发器粘贴复制的操作。

  • Kanzi Studio 现在可以在 Windows 10 上正确打开 Kanzi 文档。

  • 使用 Set Property 操作属性不再导致 Preview 崩溃。

  • 现在可以正确使用资源 ID 作为 Style 属性的值。

  • Kanzi Studio 现在在使用键盘按键时可以正确移动本地化表。

  • Binding Editor 不再为 2D 节点 Render Transformation 和 Layout Transformation 属性添加 Node3D。

  • 当您在 State Tools 中创建新的状态组时,Kanzi Studio 不再创建冲突状态。

  • 在状态编辑模式下,使用拖放在 Binding Editor 中用于状态控制属性现在可以正常工作。

  • Kanzi Studio 现在可以正确解析相同的触发操作。

  • 您现在可以使用 Node Components 中的上下文菜单向状态管理器添加触发器。

  • 您现在可以为 Preload Resources 操作设置 Task Name。

  • 当您重命名材质自定义属性类型时,使用该属性类型的属性不再丢失其值。

  • Performance HUD 现在显示更准确的数据。

  • 在重命名别名后,Kanzi Studio 现在在所有对该别名的引用中显示正确的名称。

  • 修复了无法将触发器一次粘贴到多个节点的问题。

  • 修复了与 Pages 相关的几个问题。

  • 修复了使用本地化内容时遇到的几个问题。

  • 修复了多个问题,以改进将 Kanzi 应用程序部署到 Android。

  • 修复了几个问题以改进 Node tool 的功能和可用性。

  • Find Project Item 现在在您使用 Advanced Search 时正确列出 Prefabs。

  • 当您尝试关闭一个有未保存更改的项目时,Kanzi Studio 现在会正确提示。

  • 修复了导致 Kanzi Studio 不稳定或崩溃的多个问题。

  • 修复了导致 Kanzi Studio 长时间使用后变得迟缓的泄漏问题。

  • 修复了阻止 Kanzi Studio 在安装了 .NET Framework 4.6 的计算机上启动的问题。

  • 修复了在使用自由相机时保存项目后导致 Camera 节点移动的问题。

在 Kanzi Engine 中的修复

  • 修复了 Win32 发行版本中损坏的命令行参数。

  • 添加了对 Mali GPU 的检测,以禁用这些 GPU 上损坏的半浮点顶点特性。

  • executeNavigationEntry() 不再使迭代器失效。

  • 已将 previewProperties.extensionOutputEnabled 从 Application::initializeProfiling() 断开。现在,Application::mainOverride() 在创建上下文 GL 后处理 extensionOutputEnabled。

  • 修复了使用无效纹理的网格无法渲染的问题。

  • 将 Node2D::createFramebuffer() 设置为始终使用 RGBA 纹理格式,因为并非总是支持 RGB 格式。

  • 修复了当目标是 RootPage 节点时导致 Navigate to Page 操作循环的问题。

  • Grid List Box 节点不再忽略 Recognition Threshold 属性。

  • 修复了笔刷和材质中渲染目标纹理的处理。

  • EmptyNode2D::create 现在自动创建颜色画笔。

  • 修复了在恢复后无法恢复 Color Brush 的问题。

  • Scroll View 节点的 Scroll Bounds Minimum 和 Scroll Bounds Maximum 属性现在可以正常工作。

  • 修复了导致 Kanzi Engine 忽略在 Kanzi Studio 中设置的消息源的问题。

  • Trajectory List Box 3D 使用 Item 容器现在可以与 Empty Node 节点正常工作。

  • Kanzi 现在打印 EGL 扩展列表。

  • 修复了图形缓存中内存泄漏和损坏问题。

  • 修复了 Toggle Button 问题,该问题导致 State Manager 仅在存在 Controller Property 值时才会响应。

  • Node2D_plugin 示例现在可以在 Android 上运行。

  • State Tools 中的缩略图现在已正确渲染。

  • 修复了滚动鼠标滚轮设置 Is Down 控制器属性的问题。

  • 修复了在多个 kzb 文件中定义具有相同名称但不同数据类型的属性时导致 Kanzi Engine 异常行为的问题。

  • 重新启用了Android 发行版本中的调试符号去除以减小 .apk 的大小。去除是在项目输出的 .so 文件中完成的。

  • 修复了从 kzb 文件加载纹理时忽略各向异性的问题。

另请参阅

Kanzi 3.2 迁移指南

已知问题