Kanzi 3.9.3 リリースノート

新機能 (New features)

  • カスタム Kanzi Studio プロパティエディタ。カスタム Kanzi Studio および Kanzi Engine プロパティタイプのために独自のプロパティエディタを定義できる Kanzi Studio APIが導入されました。プロパティエディタの定義 を参照してください。

  • バインディング式の新機能。バインディング式を使用して次のことができます。

  • Javaでアクティビティのために Code Behind を書くことができるようになりました。Javaコードビハインドでのプログラミングアクティビティ を参照してください。

    Androidアプリケーションを更新されたテンプレートに移行して、Code BehindのJavaサポートを使用するには、Androidアプリケーションテンプレートの変更 を参照してください。

  • QNXシステムロガー (slogger2) のサポートが追加されました。QNX用の Kanzi アプリケーションをビルドするには、QNXソフトウェア開発プラットフォームからslog2ライブラリが必要です。QNXシステムロガー (slogger2) を参照してください。

機能改善

  • アクティビティシステムに関連する Kanzi Studio の改善:

    • 参照された Kanzi Studio プロジェクトからアクティビティプレハブを使用できるようになりました。

    • Create Activity ダイアログを改善しました。

      • アクティビティプレハブを名前またはkzb URLで参照できるようになりました。

      • Prefab Template ドロップダウンメニューで既存のアクティビティプレハブのフィルタリングを改善しました。

      • 検証ロジックが改善されました。例えば、祖先のアクティビティで既に使用されているアクティビティのプレハブを選択することはできなくなりました。

      ../../_images/create-activity-and-prefab.png
    • Activity Browser サイドパネルの Activity Prefab Template ドロップダウンメニューには、ツールチップで確認できる kzb URL の代わりに、選択されたアクティビティプレハブの名前が表示されるようになりました。

      ../../_images/ab-side-panel.png
    • Activity Browser で、プレハブプレースホルダノードをルートアクティビティホストノードとして使用できるようになりました。

  • アプリケーション構成の改善:

    • Kanzi アプリケーションのセキュリティを向上させるために、Kanzi が画像を読み込む際に使用するサードパーティライブラリのメモリ消費を制御することができます。イメージロード を参照してください。

    • QNXでファイルをメモリマップするために Kanzi が使用する戦略を選択できるようになりました。MmapMode を参照してください。

    • Kanzi アプリケーションウィンドウの QNX Screen パイプライン ID を設定できるようになりました。QnxPipelineID を参照してください。

  • Kanzi Android framework (droidfw) の改善:

  • Kanzi Java API の改善:

    • Node クラスに、ノード変更フラグにアクセスするための一連の関数を追加しました。例えば、Node.setChangeFlag(PropertyTypeChangeFlag)、Node.isChangeFlagSet(PropertyTypeChangeFlag)、およびフラグ固有のメソッドとして、Node.invalidateMeasure() や Node.isInvalidMeasure() があります。

    • すべての組み込みメッセージタイプは、現在、それぞれのメッセージ引数クラスに関連付けられています。

    • すべての組み込みメッセージ引数クラスには、すべてのプロパティに対するゲッターとセッターが追加されました。

    • バインディングのサポートが追加されました。これで、次のことが可能になりました:

      • 一方向、双方向、ソースへのバインディング、値ソース、およびリソースソースのバインディングを作成します。

      • コールバックバインディングプロセッサを使用します。

      • Node.setBinding()、Node.setBindingWithOwner()、Node.setModifierBinding()、Node.setModifierBindingWithOwner()、Node.removeBinding()、および Node.removeBindingsWithOwner() メソッドを使用して、バインディングを設定および削除します。

      バインディングの作成 を参照してください。

    • カスタムJNIコードとの統合を容易にするために、関連クラスのC++対応部分へのアクセスを追加しました。詳細は カスタムJNI拡張の使用 を参照してください。

  • Kanzi Studio プロジェクトテンプレートは、stripNativeLibs プロパティを指定することで、Android のネイティブライブラリからデバッグシンボルを削除することをサポートするようになりました。詳細は デバッグシンボルの削除 を参照してください。

  • レンダーパスの改善:

    • 任意のレンダーパスで、レンダーパスとその子孫がコンテンツをレンダリングするために使用する Camera ノードを設定できるようになりました。レンダーパスのためのカメラ設定 を参照してください。

    • Composition Target Render Pass で導入された Input Viewport Area プロパティは、親レンダーパスのコンポジション空間に対するコンポジションターゲットのビューポート領域を報告します。コンポジションターゲットへのコンテンツのレンダリング を参照してください。

  • Kanzi Engine は、ノードにフォーカスを設定する際に失敗した場合のフォールバック動作を設定できる FocusManager::trySetFocus() オーバーロードを導入しました。

  • QNXでは、Kanzi アプリケーションで利用可能なディスプレイに関する情報をリストできるようになりました。画面表示情報の印刷 を参照してください。

  • メッシュにおける32ビットインデックスのサポートを導入しました。

  • Kanzi は、ミップマップモードが必要とする場合、レンダリングターゲットテクスチャのミップマップを自動的に生成します。

変更点

  • 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に変更しました。

ドキュメント

注目すべき修正点

ID

ディスクリプション (Description)

エリア

383468

Kanzi Studio Preview は、Trigger Condition でリソースをリソースIDで Fixed Value と比較する際に、もはや終了しません。

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

Deactivating ステートにある Parallel Activity Host で、Apply Activation Action が Activity をアクティベートできない問題を修正しました。

Kanzi Engine

402601

Parallel Activity Host は、キーボードフォーカスがそのアクティビティの背後にあるオーバーレイに移動したときに、自動で閉じるオーバーレイアクティビティを非アクティブ化します。

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

Fixed the issue that caused a Java plugin defined NodeComponents in Kanzi Studio to terminate the Preview.

Kanzi Java API

411080

Kanzi Studio プロジェクト StartupPrefab (Node Tree ウィンドウで作成されたプレハブ)が KanziView のスタートアッププレハブとして設定されたときに、入力処理が壊れる問題を修正しました。

Kanzi Android framework (droidfw)

410949

KanziViewAdapter.getRoot() が KanziViewAdapter.setRoot() を呼び出してルートノードを設定した後でも null を返す問題を修正しました。

Kanzi Android framework (droidfw)

374084

Create Activity ダイアログで特定の文字を入力すると、Null Reference 例外が発生する問題を修正しました。

Kanzi Studio

398445

Create Activity ダイアログでは、既存のアクティビティプレハブと同じ名前でアクティビティを命名できるようになりました。

Kanzi Studio

401362

Preview Node tool が Foreground Brush を持ち、Background Brush を持たない Empty Node 2D ノードを選択できない問題を修正しました。

Kanzi Studio

404166

Kanzi は、フォーカススコープ内のノードの Focus Order プロパティが変更されたときに、キーボードと論理フォーカスノードを保持するようになりました。

Kanzi Studio

410397

Kanzi に付属するフォンシェーダーは、スキニングとモーフィングの両方を同時に使用することをサポートするようになりました。

Kanzi Studio

412874

Kanzi に付属するフォンシェーダーは、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 でコードビハインドを追加できない問題を修正しました。

Kanzi Studio

412556

Activity Browser で Data-Driven Exclusive Activity Host にCode Behindを追加できない問題を修正しました。

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 マイグレーションガイド

既知の問題