Kanzi 3.9.7 リリースノート

アクティビティとコードビハインド

  • Activity Browser で、アクティビティノードがルートノードである場合、Kanzi Studio は警告を発します。そのような場合、Kanzi Studio は自動的にそのアクティビティの Activity Status プロパティを Active に設定します。アプリケーションでそのアクティビティをルートアクティビティとして使用したい場合は、それを考慮してください。

  • Kanzi Studio で、String 型のアクティビティプロパティを作成できるようになりました。

    例えば、これにより、アクティビティが非アクティブ化されたときに、ユーザーがテキストボックスに入力したテキストを保持することができます。

  • アクティビティのアクティベーション中にリソースの読み込みが失敗した場合、Kanzi はエラーの原因をログに記録します。

  • Kanzi Studio は現在の Preview 構成のためにのみ、Activity Browser から Code Behind を構築します。

  • Kanzi Studio は、プラグインを作成した後に Kanzi コードビハインドプラグインの名前を変更することを許可しなくなりました。

バインディング (Bindings)

リストボックスとスクロールビュー

メッシュとモーフィング

  • メッシュは現在、バイノーマル属性セマンティクスをサポートしています。これにより、シェーダーでバイノーマルを生成する代わりに、メッシュデータに保存されているバイノーマルチャンネルを使用することができます。

  • Kanzi は、任意の数のモーフターゲットを一度にアクティブ化することをサポートします。Morph リソースの使用 を参照してください。

レンダリング

  • Render target > Multisample Level (Node2D::MultisampleLevelProperty) プロパティが導入され、コンテンツ Kanzi が合成ターゲットにレンダリングされる2Dノードにマルチサンプルアンチエイリアシングを適用できるようになりました。2Dコンテンツのマルチサンプリング を参照してください。

  • シェーダーでブラシをレンダリングする際に、レンジをユニフォームへの入力パラメータとして使用できるようになりました。レンジを配列ユニフォームのパラメータとして使用する場合、Kanzi はそのレンジから要素を配列に埋め込みます。

リソース管理 (Resource management)

アプリケーションの設定で、Kanzi アプリケーションが一時停止状態のときにGPUリソースをどのように処理するかを設定できるようになりました。たとえば、一時停止状態でアプリケーションがすべてのGPUリソースを破棄するように設定できます。

Androidでは、GPUリソースはデフォルトで無効になります。他のプラットフォームでは、Kanzi はデフォルトでGPUリソースを無効にしなくなります。

HandleGPUResources を参照してください。

Kanzi Studio のユーザビリティ

  • Android application または Android application with Java plugin テンプレートでプロジェクトを作成する際に、プロジェクトのAndroidパッケージの名前を設定できるようになり、Code Behind を追加する際には、Code Behindパッケージの名前も設定できます。Kanzi Android framework (droidfw) での開発 を参照してください。

    ../../_images/new-project-android-application.png ../../_images/android-code-behind.png
  • Kanzi Studio から Android Studio で Android プロジェクトを開くことができるようになりました。

    ../../_images/open-project-in-android-studio.png
  • プロジェクトのスタートアッププレハブURLをクリップボードにコピーするコマンドを追加しました。

    ../../_images/project-copy-startup-prefab-url.png
  • カスタムプロパティタイプに対して、Library ウィンドウでそのプロパティタイプを選択できるコンテキストメニューコマンドを追加しました。

    ../../_images/custom-property-type-quick-navigation.png
  • リリースのハイライトは、現在 Kanzi Studio に直接表示されます。

  • Kanzi Studio が Rightware に匿名化された使用データを送信し、Kanzi Studio をどのように改善できるかを理解するのに役立てることができるようになりました。テレメトリー を参照してください。

Kanzi Engine C++ API

  • ログ内で、Kanzi Engine は内部の型の値ではなく、KzuExpressionValidatorOperation 列挙子名を表示するようになりました。これにより、Kanzi Engine C++ API を使用してバインディングを作成する際に、バインディングの問題を見つけやすくなります。

  • DynamicPropertyType::tryCreate 関数を追加しました。この関数は OptionalDynamicPropertyType を返します。オプションの型を使用して、DynamicPropertyType を初期化せずに宣言することができます。

  • Win32 WGL グラフィックス出力 API を C から C++ に変換し、API を改善しました。

Kanzi Java API

  • Kanzi Java API は、enumデータ型のプロパティをサポートするようになりました。Kanzi アプリケーションを移行するには、列挙型プロパティのサポート を参照してください。

  • lib/java/<BuildType>/ パスにない Kanzi Engine Java プラグインファイルをインポートすると、Kanzi Studio はそれらを無効としてマークします。

Kanzi Android framework (droidfw)

  • Kanzi Android framework (droidfw) プロジェクトテンプレートを更新し、Gradle 7.3.3 と Android Gradle Plugin 7.2.2 を使用するようにしました。

    Javaコードビハインドの変更 を参照してください。

Kanzi Studio プラグインインターフェース

プラットフォーム

  • GBMウィンドウシステムを使用するプラットフォームで、どのグラフィックスカードを Kanzi アプリケーションに使用するかを設定できるアプリケーション構成を追加しました。DeviceIdentifier および グラフィックス出力とデスクトップの変更 を参照してください。

  • インテグリティプラットフォームパッケージをHarfBuzz 5.3.1に更新しました。

Kzb バージョン (Kzb Version)

  • kzbファイル形式のバージョンを25.0に変更しました。

ドキュメント

  • アクティビティ間の遷移がどのように機能するかについての詳細な説明を追加しました。アクティビティのステータスマネジメント を参照してください。

    ../../_images/eah-ddeah-activity-transitions.svg
  • アクティビティの遷移タイプを視覚化するアニメーションを追加しました。遷移のアニメーションを見るには、その遷移の画像にカーソルを合わせてください。アクティビティ遷移タイプ を参照してください。

    Fade Out Fade In

    Flip Horizontal

    Flip Vertical

  • スクリプトを使用してローカライゼーションテーブルにPOファイルをインポートする方法についての手順を追加しました。ImportAllLocalizationTables を参照してください。

  • Flow Layout ノードを操作するための手順をサポートするビジュアルコンテンツを追加しました。Flow Layout ノードを使用する をご覧ください。

    ../../_images/flow-layout-width-change.gif
  • チュートリアルを再設計し、ガウスぼかし効果の適用方法と条件が満たされたときにその効果を適用する方法を学びます。チュートリアル: ガウスぼかし効果を作成する を参照してください。

    ../../_images/blur-completed1.gif
  • トグルボタンの作成方法を学ぶチュートリアルを再設計しました。チュートリアル: トグルボタンの作成 をご覧ください。

    ../../_images/toggle-button-final.gif

注目すべき修正点

Kanzi Engine

  • Kanzi がスペース文字などの空のグリフの代わりに小さな四角形をレンダリングする原因となっていた問題を修正しました。(143042)

  • フォーカススコープになるときに、フォーカススコープの最後にフォーカスされたノードが常に論理フォーカスを取得する問題を修正しました。(426990)

  • Toggle Button Group が ToggleButtonGroupConcept::ToggledMessage に対してアクティブな Toggle Button の不正なインデックスを設定する原因となっていた問題を修正しました。(436417)

  • Set Property アクションが、リソースを Source Item として設定した場合に機能しない問題を修正し、Target Item のアイテムをノードに制限しました。(441283)

  • Kanzi がモディファイアバインディングをアタッチする際に、1つではなく2つのプロパティ変更通知が発生する問題を修正しました。例えば、Kanzi が Apply Property Action を実行する場合です。(443038)

  • バインディングのルックアップコンテキストを統一し、メモリフットプリントをわずかに削減し、パフォーマンスを向上させました。(443610)

  • Kanzi Java API 内の BindingProcessor の階層を修正しました。(444467)

  • Kanzi Studio Log ウィンドウが Kanzi Engine ログメッセージでUnicode文字を正しく表示できない問題を修正しました。(445591)

  • 排他的アクティビティホスト内のアクティビティ遷移中に別のアクティビティをアクティブにした場合に、アクティビティがアクティブなままになる問題を修正しました。(449575)

  • インスタンス化されたメッシュをレンダリングした後、Kanzi が後続の2Dオブジェクトを複数回レンダリングする問題を修正しました。(451135)

  • Kanzi が固定サイズのビットマップグリフを持つTrueTypeフォントをFreeTypeフォントエンジンでレンダリングする際に終了してしまう問題を修正しました。(451578)

  • iTypeフォントエンジンを使用してカラービットマップグリフを持つTrueTypeフォントをレンダリングする際に、Kanzi が終了する原因となっていた問題を修正しました。(451644)

  • Performance HUD は、メッシュのすべてのインスタンスの三角形数を報告するようになりました。(451874)

  • ビタンジェントチャンネルが利用可能な場合に、Kanzi がメッシュのタンジェントチャンネルに正しくマッピングされない問題を修正しました。(452375)

  • updateVertexAttributeOffsetsAndVertexSize および updateVertexAttributeStrides 関数がインスタンス化されたメッシュの頂点フォーマット情報を誤って更新する原因となっていた問題を修正しました。(452578)

  • 二次の ResourceManager::purge 時間計算量と線形のリソース削除時間計算量を修正し、リソース削除と ResourceManager::purge のパフォーマンスを向上させました。(454362)

  • kzbファイルをロードするたびにファイルディスクリプタリークが発生する問題を修正しました。同じプロセスで Kanzi コンテンツを持つアクティビティが頻繁に作成されると、プロセス内のファイルディスクリプタの数が上限に達したときにAndroidがアプリケーションを終了させる原因となっていました。(454389)

  • Screen クラスのメタクラスをオーバーライドした際にローカライゼーションが機能しない問題を修正しました。(455169)

  • kzCameraNearFarPlane シェーダーユニフォームを修正しました。(455708)

Kanzi Studio

  • Java Code Behindを使用するAndroidアプリケーションのパッケージ名を変更した際に、Kanzi Studio の機能が壊れる問題を修正しました。(410677)

  • Kanzi ユーザーが Code Behind 機能を使用するために Visual Studio 2017 をインストールする必要があった問題を修正しました。(422915)

  • Write Log アクションにおいて、<EventName> マクロを修正し、Kanzi.MessageTrigger の代わりにメッセージトリガーの名前とメッセージタイプを出力するようにしました。(435792)

  • Kanzi Studio は、アプリケーション固有のセマンティクスを使用する glTF ファイルのメッシュ属性のインポートに失敗しなくなりました。Kanzi Studio は、これらの属性に CUSTOM セマンティクスを使用し、glTF 属性セマンティクスにちなんで名前を付けます。(445105)

  • Activity Browser で、Activity Prefab Template プロパティに同じ値を使用するアクティビティのドラッグを修正しました。(449142)

  • カーソルの位置に関係なく、Write Log アクションの Log Text プロパティの先頭に Kanzi Studio がマクロを挿入してしまう問題を修正しました。(450567)

  • 新しく作成されたプロジェクトで、Kanzi Android Framework プロジェクトがプロジェクトの kzb ファイルへの誤った参照を持つ可能性がある問題を修正しました。(451511)

  • Kanzi Studio が Flip Vertical と Flip Horizontal のアクティビティ遷移の名前を入れ替えてしまう問題を修正しました。(454405)

  • プロジェクトが ForwardingAction クラスから派生したクラスから派生したカスタムアクションを使用している場合に、kzbの読み込みが失敗する問題を修正しました。(455848)

Kanzi framework SDK

  • SCons 4.5 を使用した際に SCons ビルドスクリプトが動作しない問題を修正しました。(455514)

関連項目

Kanzi 3.9.7 マイグレーションガイド

既知の問題