Kanzi 3.9.3 发行说明¶
新增功能¶
自定义 Kanzi Studio 属性编辑器。引入了 Kanzi Studio API,使您能够为自定义 Kanzi Studio 和 Kanzi Engine 属性类型定义自己的属性编辑器。请参阅 定义属性编辑器。
绑定表达式的新功能。您现在可以使用绑定表达式来:
执行按位操作。请参阅 按位运算符。
访问纹理资源的属性。请参阅 纹理函数 (Texture functions)。
您现在可以为 Java 中的活动编写 Code Behind。请参阅 使用 Java 代码隐藏的编程活动。
要迁移您的 Android 应用程序以使用带有 Code Behind Java 支持的更新模板,请参阅 对 Android 应用程序模板的更改。
添加了对 QNX 系统记录器 (slogger2) 的支持。要为 QNX 构建 Kanzi 应用程序,您现在需要来自 QNX 软件开发平台的 slog2 库。请参阅 QNX 系统记录器 (slogger2)。
功能改进¶
Kanzi Studio 与活动系统相关的改进:
您现在可以使用来自引用的 Kanzi Studio 项目的 Activity 预设。
改进了 Create Activity 对话框:
您现在可以通过名称或 kzb URL 引用 Activity 预设。
改进了 Prefab Template 下拉菜单中现有 Activity 预设的过滤。
改进了验证逻辑。例如,您不能再选择已被祖先 Activity 使用的 Activity 预设。
在 Activity Browser 侧面板中,Activity Prefab Template 下拉菜单现在显示所选活动预设的名称,而不是 kzb URL,您可以在工具提示中看到。
您现在可以在 Activity Browser 中使用预设占位符作为根活动主机节点。
应用程序配置的改进:
您现在可以通过控制 Kanzi 用于加载图像的第三方库中的内存消耗来提高 Kanzi 应用程序的安全性。请参阅 图像加载 (Image loading)。
您现在可以选择 Kanzi 在 QNX 上使用哪种策略来内存映射文件。请参阅 MmapMode。
您现在可以为您的 Kanzi 应用程序窗口设置 QNX Screen 管道 ID。请参阅 QnxPipelineID。
Kanzi Android framework (droidfw) 改进:
您现在可以从自定义位置加载 kzb 文件。请参阅 从自定义位置加载 kzb 文件。
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)¶
添加了一个教程,帮助您学习如何开始开发适用于 Android 的 Kanzi 应用程序。请参阅 教程:开始使用 Kanzi Android framework (droidfw)。
添加了一个教程,帮助您学习如何使用用 Java 编写的 Kanzi 数据源来访问 Android API。教程:Android 的数据源。
显著修复¶
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 |
现在调用 |
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 |
修复了导致 |
Kanzi Engine |
410928 |
修复了导致在 Kanzi Studio 中定义的 Java 插件 NodeComponents 终止 Preview 的问题。 |
Kanzi Java API |
411080 |
修复了当 Kanzi Studio 项目 |
Kanzi Android framework (droidfw) |
410949 |
修复了即使在通过调用 |
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 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 |
修正了 教程:拖放 和 教程:从数据源获取应用程序数据 指令,以使用静态 |
Documentation |
409433 |
Kanzi 教程和示例现在附带了您需要用于生成应用程序的 Visual Studio 2019 解决方案的 |
Kanzi framework SDK |