Kanzi 3.9.8 リリースノート¶
2Dエフェクト¶
ノードに複数のエフェクトを適用できる Effect Stack 2D エフェクトを導入しました。複数のエフェクトの使用 を参照してください。
エフェクトでバインディングを使用し、エフェクトプレハブからプロパティを公開できるようになりました。2Dエフェクトプレハブのインスタンスをカスタマイズする を参照してください。
Blend Mode を Outline Effect 2D および Shadow Effect 2D エフェクトで設定できるようになりました。
例えば、よりリアルな影を作成するために、Multiply (advanced khr) ブレンドモードを使用します。
アクティビティ¶
デフォルトで、Kanzi がアクティビティを仮想化すると、そのアクティビティのアクティビティプロパティをシリアライズします。Kanzi がそのアクティビティを非仮想化すると、そのアクティビティのアクティビティプロパティをデシリアライズし、アクティビティプロパティの値を復元します。これらのプロパティを使用して、UI 状態の保持を制御できるようになりました。
アクティビティの非アクティブ化時に、Preserve History プロパティを使用すると、そのアクティビティおよび子アクティビティのアクティビティプロパティの値のシリアル化を制御できます。
アクティビティのアクティベーション時に、Activate Activity メッセージの Reset History 引数を使用すると、そのアクティビティおよびその子アクティビティのアクティビティプロパティの値のデシリアライズを制御できます。同じメッセージ引数を Deactivate Activity メッセージと共に使用して、非アクティブ化されたアクティビティの値をシリアライズするかどうかを制御できます。
仮想化の制御 を参照してください。
移行手順については、ActivityHostConcept APIの変更点 を参照してください。
Kanzi Engine C++ APIでは、アクティビティホストの動作のカスタマイズが改善されました。カスタム実装では、次の関数をオーバーライドできるようになりました。
データ駆動型排他アクティビティホスト:
DataDrivenExclusiveActivityHostImpl::onActivateActivityOverrideParallel Activity Host:
ParallelActivityHostImpl::onActivateActivityOverrideとParallelActivityHostImpl::onNodePropertyChanged
Kanzi Studio における Code Behind ワークフローの改善:
Activity Browser は、Code Behind がビルドされている間、進行状況を表示します。
Kanzi Studio は、Code Behind のビルドが失敗したときに、より詳細な情報を提供します。
Android¶
デバッグライブラリ内の補助デバッグ情報の量を削減しました。これにより、APKファイルのサイズが小さくなり、アプリケーションをターゲットデバイスにより迅速にデプロイできるようになります。
Androidプラットフォームパッケージとテンプレートを更新し、JDK 11および17をサポートしました。Kanzi アプリケーションを移行するには、Androidアプリケーションテンプレートの変更 を参照してください。
レンダリング¶
レンダーパスがそのコンポジションターゲットを更新する速度を制御できるようになりました。コンポジションターゲットのレンダリングの分散 と キューブマップ反射のレンダリングを分散する を参照してください。
Cubemap Render Target Texture リソースが導入されました。これにより、Cubemap Render Pass をキューブマップレンダーターゲットテクスチャにレンダリングし、そのテクスチャをマテリアルのキューブマップテクスチャとして設定できるようになりました。キューブマップ反射の作成 を参照してください。
シェーダー¶
アプリケーションを設定してシェーダーバイナリをキャッシュできるようになりました。オフラインシェーダーコンパイルツールが利用できないプラットフォームでの Kanzi アプリケーションのパフォーマンスを向上させるために、シェーダーバイナリキャッシュを使用してください。シェーダーバイナリのキャッシュ を参照してください。
ウィンドウ管理 (Windowing)¶
X11 EGLグラフィックス出力APIをCからC++に変換し、APIを改善しました。
AndroidウィンドウサーフェスEGLグラフィックス出力APIをCからC++に変換し、APIを改善しました。
移行手順については、EGL APIの変更点 を参照してください。
EGLグラフィックスフォーマットIDを使用してEGL構成を選択できるようになりました。EGLGraphicsFormatID を参照してください。
Wayland EGL グラフィックス出力 API を C から C++ に変換し、API に次の改善を加えました。
Kanzi が使用する Wayland シェルを設定できるようになりました。Waylandシェル を参照してください。
XDGシェルのサポートを追加し、デフォルトで設定しました。
IVIシェルでは、Kanzi が使用するIVIサーフェスIDを設定できます。Wayland IVI サーフェス ID を参照してください。
Kanzi Engine C++ APIリファレンスで、
wayland::DefaultWaylandEGLGraphicsOutputを参照してください。Wayland IVI EGL グラフィックス出力 API を導入しました。この API を使用することで、Kanzi アプリケーションは IVI 拡張機能を利用して、画面上にウィンドウを配置します。
IVI拡張機能のためにいくつかのアプリケーション構成を追加しました。Wayland IVI 拡張機能の設定 を参照してください。
APIはXDGおよびIVIシェルで使用できます。
Kanzi Engine C++ API リファレンスで、
kanzi::wayland::DefaultWaylandIVIEGLGraphicsOutputを参照してください。色チャンネルとデプスバッファのサイズ、およびアンチエイリアスサンプルの数を設定するサーフェスプロパティのデフォルト値を変更しました。サーフェスのプロパティ を参照してください。
移行手順については、デフォルトのサーフェスプロパティの変更 を参照してください。
application.cfgファイルおよびコマンドラインで EGL IMG コンテキストの優先度ヒントを設定できるようになりました。EGLIMGContextPriority を参照してください。コマンドラインでサーフェスのカラースペースを設定できるようになりました。SurfaceColorSpace を参照してください。
入力処理¶
キーイベントの翻訳は、オペレーティングシステム固有の生のキーコードを保持するようになりました。
KeyEventは、翻訳されたキーイベントの生のキーコードを保持します。KeyMapEventFilterは、変換されたキーイベントの生のキーコードを格納します。KeyRepeatGeneratorは、翻訳されたキーイベントと生のキーイベントの両方を繰り返します。
メッシュ (Meshes)¶
これらの関数を導入し、実行時にインスタンス化された
Meshを検査することができます。
Kanzi Studio のユーザビリティ¶
ノードからプロパティとその関連付けられた To Source バインディングを削除するには、Properties ウィンドウでプロパティを右クリックし、Remove Property And Binding を選択します。
Kanzi Studio project テンプレートを使用してプロジェクトを作成した場合、Library > Build Configuration > <Build Configuration> を右クリックして Create Kanzi Application Directory Hierarchy を選択すると、Kanzi Studio は
<KanziWorkspace>/Templates/Basic_applicationからアプリケーションテンプレートをプロジェクトにコピーします。Kanzi Studio プロジェクトに有効な Android ビルド構成がない場合、File > Export > Build Android Package を選択すると、Kanzi Studio は Library > Build Configurations に Android ビルド構成を作成します。
Kanzi Java API¶
FontFamilyクラスにFontFamily.addFontFileおよびFontFamily.getFontFile関数を追加しました。
Kzb バージョン (Kzb Version)¶
kzbファイル形式のバージョンを27.0に変更しました。
ドキュメント¶
アクティビティ間でアニメーション付きのトランジションを作成する方法を学ぶのに役立つチュートリアルを追加しました。詳細は、チュートリアル: アクティビティ間のトランジションをアニメーション化する をご覧ください。
Kanzi アプリケーションのUIナビゲーションを作成する方法を学ぶためのチュートリアルを追加しました。チュートリアル: アプリケーションのUIナビゲーションを作成する を参照してください。
Trajectory Layout ノードを操作するための手順をサポートするビジュアルコンテンツを追加しました。Trajectory Layout ノードを使用する を参照してください。
Android Jetpack Compose の例を更新しました。Gradle ファイルに Kotlin DSL を使用する方法も示すようになりました。Jetpack Compose の例 を参照してください。
注目すべき修正点¶
Kanzi Engine¶
Kanzi がグラフィックスコンテキストを破棄した後にGPUリソースをクリーンアップする問題を修正しました。(RENDERING-185)
Kanzi がGPUドライバーがGLES 2.0とGL_EXT_draw_instanced拡張機能のみをサポートしている場合に
GL_INVALID_OPERATION警告を記録する原因となっていた問題を修正しました。(RENDERING-264)GPUドライバーがマルチサンプルアンチエイリアシングをサポートしていない場合に、Kanzi が例外をスローする問題を修正しました。(RENDERING-271)
3Dノードのマテリアルをランタイム中に変更すると、Kanzi が不必要な通知ハンドラーを実行してしまう問題を修正しました。(RENDERING-281)
3Dアセットをインポートする際に、稀に Kanzi が終了してしまう問題を修正しました。(458240)
Kanzi アプリケーションがAndroidでタイ語のテキストを表示すると終了してしまう問題を修正しました。(INTE-164)
メインループスケジューラタイマーが、Kanzi メインループの開始タイムスタンプを使用する代わりに、開始タイムスタンプとしてシステム時間を使用するように修正しました。Kanzi メインループフレームの外で作成したタイマーは、今後有効な開始タイムスタンプを取得します。例えば、Kanzi Android framework (droidfw) を使用して Android UI スレッドから作成したタイマーです。(ANDROID-383)
Kanzi Studio¶
無効な Kanzi Engine ファイルをインポートする際に、Kanzi Studio が重複したログエントリを作成する問題を修正しました。(ANDROID-266)
新しいプロジェクトテンプレートの数を制限していた問題を修正しました。(SDK-8979)
Kanzi Android framework (droidfw)¶
アプリケーションが中断されたときに、Kanzi が長押しイベントを早期にトリガーする問題を修正しました。(ANDROID-383)