Kanzi 3.2 发行说明¶
新增功能¶
以下功能是 Kanzi 3.2 中的新功能:
动画系统
Kanzi 3.2 带来了新的动画系统,该系统更加灵活、高效、健壮、易于使用,并使您能够创建旧动画系统无法创建的动画。请参阅 动画系统 (Animation System) 和 使用 Kanzi Engine API 创建动画和时间轴。。
缓动函数
在状态机中,您现在可以使用缓动函数和缓动模式动画化状态之间的迁移。请参阅 使用状态迁移。
功能改进¶
状态机现在包括:
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)¶
添加了新教程:
了解如何创建切换按钮。请参阅 教程:创建一个切换按钮。
了解如何创建滑块。请参阅 教程:创建滑块。
学习如何使用滑动手势旋转应用程序中的 3D 模型。请参阅 教程:旋转 3D 模型。
学习如何让您的用户界面响应设备屏幕分辨率的变化。请参阅 教程:制作具有动态布局的应用程序。
添加了有关如何使用 Morph 通过无缝过渡将一种形状更改为另一种形状的说明。请参阅 使用 Morph 资源。
更新了文档视觉样式,使其更易于使用和阅读。
在 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 文件加载纹理时忽略各向异性的问题。