Kanzi 3.9.9 リリースノート

Kanzi Engine Lua API

Kanzi Engine Lua API は、Luaプログラミング言語を使用して Kanzi Engine へのプラットフォームに依存しないインターフェースです。これにより、Kanzi Studio でアプリケーションおよびユーザーインターフェースロジックを作成できます。

Kanzi Engine Lua API を使用する方法を学ぶには、

アニメーション (Animations)

  • Animation Clip Editor でベジェ補間を設定する際に、1 つ以上のベジェハンドルに正確な値を入力できるようになりました。キーフレーム間のイージングファンクションを設定する を参照してください。

    ../../_images/animation-clip-editor-edit-bezier-handles.png
  • Kanzi Studio ユーザープリファレンスでは、キーフレームのベジエハンドルをキーフレームに対してスナップするか、Animation Editor グリッドに対してスナップするかを選択できるようになりました。

    ../../_images/animation-clip-editor-relative-snap.png

バインディング (Bindings)

ブール型、整数型、浮動小数点型、ベクター型、カラー型、マトリックス型を次のいずれかのパラメーターとして使用できるようになりました:

Kanzi Studio プレビュー

  • プレビュー Analyze モードで、導入されました:

    • ワイヤーフレームビジュアライゼーション

      ../../_images/preview-analyze-wireframe.png
    • メッシュ頂点法線の可視化

      ../../_images/preview-vertex-normals.png
    • Spot Light ノードと Directional Light ノードの視覚化が改善されました。

      ../../_images/preview-light-debug-visualizations.png

    プレビューでアプリケーションを分析する を参照してください。

  • プレビューで Camera tool を使用する際、3Dノードを選択または選択解除するには、Ctrl を押しながら左マウスボタンをクリックしてください。

  • プレビューで Node tool を使用する際、Camera tool にアクセスするには、Alt を押し続けてください。

  • 各 Kanzi Studio プロジェクトのプレビュー背景色を設定できるようになりました。プレビューの背景色を設定する をご覧ください。

    ../../_images/project-properties.png ../../_images/properties-project-preview-background-color.png

Kanzi Studio のユーザビリティ

  • Kanzi Studio でのツールチップの改善:

    • ツールチップから機能および Kanzi Engine C++ API リファレンスドキュメントにアクセスできるようになりました。

      ../../_images/enhanced-tooltips-create.png ../../_images/enhanced-tooltips-property.png
    • ツールチップには、デフォルトおよびカスタムの Kanzi Studio ショートカットキーが表示されるようになりました。デフォルトのショートカットキーの一覧とカスタムショートカットキーの設定方法については、Default shortcut keys を参照してください。

      ../../_images/tooltips-shortcut-keys.png
    • ツールチップで Kanzi Engine プロパティタイプ名をコピーできるようになりました。

      ../../_images/tooltip-copy-property-name.gif
  • Kanzi Studio でのシェーダーエラー報告の改善:

    • シェーダーソースファイルにエラーが含まれている場合、Kanzi Studio は今:

      • シェーダーとそのシェーダーを使用するアイテムを赤でマークします。

      • ツールチップにコンパイルエラーメッセージを表示します。

      ../../_images/shader-source-file-errors.png
    • Shader Source Editor でエラーを含むファイルを開くと、Kanzi Studio がそのエラーが表示されている行をハイライトします。

Kanzi Studio ユーザー設定ファイル

Kanzi Studio は、メインプロジェクトファイルとは独立してユーザー設定を管理するための kzproj.user ファイルを作成します。

  • メインの kzproj ファイルは、ユーザー設定ファイルとは独立して機能します。

  • デフォルトで、プロジェクトテンプレート内の .gitignore ファイルは kzproj.user ファイルを無視します。

  • kzproj.user ファイルに保存される設定には、ウィンドウ内のアイテムの選択、アイテムの展開状態、および構成タブが含まれます。

プロジェクトテンプレート (Project templates)

Kanzi Studio プロジェクトテンプレートには、Git バージョン管理システムが Git リポジトリに含まれない一時ファイルや作業ファイルを無視するための .gitignore ファイルが含まれるようになりました。

レンダリング

Box ノードと Sphere ノードをスカイボックスとして使用できるようになりました。環境キューブマップテクスチャを使用する を参照してください。

トリガーテンプレート

Kanzi Engine C++ APIにおいて、トリガーテンプレートにアクションと条件を追加できるようにする TriggerTemplate へのインターフェースが追加されました。

ウィンドウ管理 (Windowing)

  • Waylandバックエンドにおいて、コンポジタから送信される frame() イベントを無視し、入力を即座に処理するオプションを追加しました。これは、コンポジタが frame() イベントを適切に送信しない場合に有用です。Wayland入力モード を参照してください。

  • QNX Screen プロパティの使用フラグをプログラムで設定できるようになりました。QnxUsageFlags を参照してください。

Kanzi Engine C++ API

generateCone 関数を導入して、コーンメッシュを作成します。

Kanzi Java API

  • Java classes now better resemble their C++ counterparts. See Kanzi Java API への変更.

  • @Factory を使用して、カスタムタイプのファクトリメソッドに注釈を付けることができるようになりました。カスタムタイプの作成 を参照してください。

  • KanziVersion クラスと Domain.getVersion メソッドを使用して、Kanzi のバージョン番号と文字列を読み取ることができます。

Kanzi Android framework (droidfw)

Kanzi Android framework (droidfw) は、デフォルトで Android Automotive のロータリーコントローラーからの入力イベントを Kanzi ナビゲーションキーイベントに変換します。これにより、ユーザーはロータリーコントローラーを使用してフォーカス可能なノードをナビゲートできます。Android Automotiveのロータリーコントローラーからの入力を処理する を参照してください。

ブール値から文字列への変換

すべてのブール値から文字列への変換は、現在小文字の "true" または "false" になります。ブール値から文字列への変換の変更 を参照してください。

Kzb バージョン (Kzb Version)

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

ドキュメント

注目すべき修正点

Kanzi Engine

  • Kanzi Engine が、Parallel Activity HostまたはExclusive Activity Host内でアクティブ化しているアクティビティが On Attached trigger を使用して自分自身を非アクティブ化しようとしたときに終了したり、誤動作したりする問題を修正しました。(SDK-9148)

  • kzCameraNormalMatrix ユニフォームに変換コンポーネントがある場合に、getCameraNormalMatrix シェーダーユニフォームバインディング関数が不正な行列を返す問題を修正しました。(RENDERING-570)

  • 2Dノードにおいて、最初のレイアウトパスの前に、Actual Width および Actual Height プロパティが inf ではなく正しく0.0に設定されるようになりました。(RENDERING-589)

  • Blend Mode プロパティ値がランタイムで更新されたときに、2Dノードで Kanzi が誤ったブレンドモードを使用する原因となっていた問題を修正しました。(RENDERING-597)

  • Kanzi が GPU リソースの無効化後にレンダーターゲット Texture をリロードできなかった問題を修正しました。(RENDERING-669)

  • Kanzi Engine がデータトリガー条件式でシンプルなデータソースバインディングを使用した際に終了してしまう問題を修正しました。(SDK-8984)

  • Kanzi が以前にコンテンツテクスチャなしでレンダリングされた Texture Brush のコンテンツテクスチャをレンダリングできなかった問題を修正しました。(RENDERING-683)

  • Texture Brush のレンダリングにおける問題を修正しました。この問題により、Kanzi が Brush Vertical Tiling および Brush Horizontal Tiling のプロパティ値の変更を無視していました。(RENDERING-675)

  • kzWindowSize ユニフォームが、フレームバッファサイズよりも小さい絶対サイズを持つ場合に、スクリーンノードのサイズと等しくならない問題を修正しました。(RENDERING-415)

  • Kanzi がバイナリシェーダーフォーマットをサポートしないターゲットプラットフォームに対してシェーダーバイナリキャッシュを誤って無効にしてしまう問題を修正しました。シェーダーバイナリキャッシュはシェーダーバイナリプログラムのみを必要とします。(RENDERING-693)

  • Kanzi アプリケーションのデバッグビルドが、実行中にC++例外が発生した際にエラーメッセージを表示せずに突然終了する問題を修正しました。(SDK-9259)

  • Kanzi Android framework (droidfw) ベースのアプリケーションが、コンテンツのない KanziView にユーザーが操作した際に終了してしまう問題を修正しました。この問題はアプリケーションの起動時に発生しました。(ANDROID-516)

  • 未処理のマルチタッチジェスチャが Kanzi Android framework (droidfw) ベースのアプリケーションを終了させる問題を修正しました。例えば、部分的に透明な KanziView の背後にあるAndroidビューがジェスチャを処理した場合にこの問題が発生しました。(ANDROID-467)

  • kzb Player は、オペレーティングシステムによって終了されるのではなく、POSIX終了シグナルSIGINTおよびSIGTERMを処理することによって、正常に終了しようとします。(RENDERING-720)

  • Kanzi の以前のバージョンでは、場合によっては2Dノードでブラシプロパティを設定しても機能しませんでした。Kanzi はレイアウトフェーズ中にブラシをレンダリングする必要性を判断し、その結果、ブラシに設定されたプロパティ値のみがレンダリング結果に影響を与える原因となりました。

    例えば、Kanzi のレンダリングに失敗しました。

    • ノード内の透明または完全に不透明なカラーブラシが、Brush Color プロパティ値を非透明な色に設定します。

    • Brush Texture プロパティが < No Texture > に設定されているか、Modulate Color プロパティが透明色に設定されているテクスチャブラシ。

    現在、Kanzi はレンダリングフェーズでブラシレンダリングの決定を行い、すべてのプロパティ値のソースを考慮します。ブラシレンダリングの変更 を参照してください。

    (RENDERING-402, RENDERING-596, RENDERING-677)

  • 以前のバージョンの Kanzi では、複数のモーフターゲットをアクティブにすると、モーフの法線が劣化することがありました。法線を改善するために、KANZI_SHADER_USE_MORPH_NORMAL_LIMIT プリプロセッサ定義を使用できるようになりました。モーフターゲットの法線を使用する を参照してください。(RENDERING-322)

  • Kanzi Engine が Model3D::MeshProperty を設定したときにモーフメッシュのモーフウェイトをデフォルト値にリセットしてしまう問題を修正しました。モーフウェイトの変更 を参照してください。(RENDERING-748)

  • トリガーがアタッチされた後に、Kanzi が TimerTrigger::IntervalProperty の値の変更を無視する問題を修正しました。(FOUNDATION-504)

  • グラフィックスフォーマット構成の問題を修正しました:

    • GraphicsFormatD24_UNORM 形式を使用してテクスチャのデータを設定しようとしたときに、Kanzi はもはや終了しません。

    • Kanzi は、カラーアタッチメントとして使用するためにサポートされているARGB形式を報告しなくなりました。

    • Kanzi は、R16G16B16_UNORM をカラアタッチメントとして使用するためのサポートされている形式として報告しなくなりました。

    (RENDERING-807)

  • BlurEffect2D または ShadowEffect2D が使用されたときに、Kanzi がサスペンションから復帰した後に終了する原因となっていた問題を修正しました。(RENDERING-835)

  • Kanzi ファイルプロトコル file:// が Android で ./ で始まるパスのファイルを読み込めない問題を修正しました。(ANDROID-611)

Kanzi Studio

  • Kanzi Studio が kzb ファイルをエクスポートおよびインポートする際に Kanzi Engine Java プラグインファイルの絶対パスを使用してしまう問題を修正しました。(ANDROID-380)

  • 高い数値プロパティ値を入力すると Kanzi Studio が終了する原因となっていた問題を修正しました。(SDK-9223)

  • Kanzi Studio プレビューで 100% ズーム時に gl_FragCoord および kzWindowSize ユニフォームが正しくない原因となっていた問題を修正しました。(RENDERING-415)

  • Kanzi のデフォルトの物理ベースのマテリアルタイプ (Material Types) で、KANZI_SHADER_RECEIVE_POINT_SHADOW プリプロセッサ定義を有効にしても、Kanzi Studio が PointShadowMap カスタムプロパティタイプのバインディングの作成に失敗しなくなりました。(RENDERING-626)

  • Default Effect Stack プリセットを複数作成する際に、Kanzi Studio が 2D エフェクトの Enabled プロパティを重複させる原因となっていた問題を修正しました。(RENDERING-694)

  • Preview のズームレベルを Shift キーと Alt キーを押しながら、左マウスボタンを押し続けてドラッグすることで変更する機能を修正しました。(PRODUCT-293)

  • プロパティタイプをメッセージ引数として使用している場合に、プロパティタイプの名前を変更すると Kanzi Studio が終了してしまう問題を修正しました。(PRODUCT-278)

  • シェーダー処理におけるいくつかの問題を修正しました。

    • Kanzi Studio は、主要なシェーダーコンパイルに対してのみエラーを記録するようになりました。この方法により、最も関連性の高いエラーが最後に表示されます。

    • 含まれるシェーダーを追加、削除、または編集すると、Kanzi Studio はプライマリシェーダーを再コンパイルします。

    • シェーダーソースファイルの削除を元に戻すと、Kanzi Studio はそのファイルの最新の内容を復元します。

    • #include ディレクティブが山括弧構文を使用する場合、Kanzi Studio はもはや終了しません。

    (RENDERING-688)

  • Kanzi Studio がトリガーの Message Source またはアクションの Target Item として貼り付けた絶対パスを保持できない問題を修正しました。(PRODUCT-234)

  • Traditional Gauges ファクトリーコンテンツアセットをインポートすると、Kanzi Studio がシェーダー解析エラーをログに記録する問題を修正しました。(RENDERING-757)

  • マージの途中で Project Merge ツールを誤って閉じることができてしまう問題を修正しました。Kanzi Studio は、マージをキャンセルするかどうかを確認するようになりました。(PRODUCT-232)

  • Kanzi Studio が Kanzi Studio の以前にインストールされたバージョンの Factory Content アセットパッケージを表示する原因となっていた問題を修正しました。(PRODUCT-287)

  • Preview がマウスポインターアイコンで、Grid Layout 2D ノード内の別のセルにノードを移動できることを示すのを妨げていた問題を修正しました。Grid Layout ノードにノードをセルに割り当てる を参照してください。(PRODUCT-338)

  • Kanzi Studio が Asset Packages ウィンドウで Render Pass アイコンを表示できなかった問題を修正しました。(PRODUCT-341)

  • Properties ウィンドウで、Operations メニューを閉じたときに展開されたバインディングが折りたたまれる問題を修正しました。(PRODUCT-345)

  • Node Components > Input Manipulators で矢印キーを使用してドロップダウンメニューの値を選択できない問題を修正しました。(PRODUCT-317)

  • Kanzi Studio がビジー状態の間、Status Bar が反応しなくなり、暗く表示される問題を修正しました。(PRODUCT-365)

  • samplerBuffer ユニフォームをシェーダーで使用したときに、Kanzi Studio が終了する原因となっていた問題を修正しました。(RENDERING-752)

  • Kanzi Studio インストーラーは、Visual Studio 2017 用の Visual C++ 再頒布可能パッケージのみではなく、Visual Studio 2015-2022 用の Visual C++ 再頒布可能パッケージをインストールするようになりました。(SDK-9072)

Kanzi Java API

  • Kanzi Java API が、異なるJava参照によって以前にアクセスされた同じC++オブジェクトに対して、明示的なクローズまたはtry-with-resourceブロックを使用しなかった場合に、有効なC++オブジェクトに対して時折nullのJava参照を返す問題を修正しました。(ANDROID-560)

関連項目

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

既知の問題