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)¶
プロパティ値を文字列にフォーマットするために使用できる
formatバインディング関数を追加しました。フォーマット (Format)、プロパティ値の表示形式設定、および ローカライズされた文字列でテキストの順序を設定する を参照してください。
バインディングを設定すると、そのバインディングの所有権を取得したり、削除を妨げたりしないハンドルが得られます。
BindingHostConcept::removeBindingを呼び出すと、BindingRuntimeHandleのウィークポインタはバインディングの削除を妨げません。Kanzi アプリケーションを移行するには、バインディングの設定と削除の変更 を参照してください。
binding_processor_runtime.hppからm_lookupContextクラスメンバーを削除しました。BindingProcessorRuntimeは、ルックアップコンテキストへのアクセサを提供するBindingRuntimeにアクセスできます。バインディングAPIの変更点 を参照してください。
リストボックスとスクロールビュー¶
Kanzi Studio で作成した List Box ノードと List Box Item Container プレハブは、デフォルトでフォーカススコープとなり、キーのフォーカスとキー入力を処理します。これにより、フォーカス可能なリストアイテムや各リストアイテム内のフォーカス可能なノードを通じてフォーカスを移動することができます。
List Box では、アイテムの選択とキーのフォーカスがデフォルトで同期されるようになりました。
List Box ノードでのキー入力フォーカスの処理 を参照してください。
タッチスクロールの方向を逆にするために使用できるこれらのプロパティを導入しました:
Scroll View ノードでは、Reversed X Axis Scroll (
ScrollViewConcept::ReversedXAxisScrollProperty) と Reversed Y Axis Scroll (ScrollViewConcept::ReversedYAxisScrollProperty) プロパティ。List Box ノード (Nodes) の Reversed Scrolling (
TrajectoryListBox3D::ReversedScrollingProperty、GridListBoxConcept::ReversedScrollingProperty) プロパティ。
メッシュとモーフィング¶
メッシュは現在、バイノーマル属性セマンティクスをサポートしています。これにより、シェーダーでバイノーマルを生成する代わりに、メッシュデータに保存されているバイノーマルチャンネルを使用することができます。
Kanzi は、任意の数のモーフターゲットを一度にアクティブ化することをサポートします。モーフを使用する を参照してください。
レンダリング¶
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) での開発 を参照してください。
Kanzi Studio から Android Studio で Android プロジェクトを開くことができるようになりました。
プロジェクトのスタートアッププレハブURLをクリップボードにコピーするコマンドを追加しました。
カスタムプロパティタイプに対して、Library ウィンドウでそのプロパティタイプを選択できるコンテキストメニューコマンドを追加しました。
リリースのハイライトは、現在 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 プラグインインターフェース¶
DataUtilities.GetCombinedHashCodeを追加し、指定された整数型の引数の結合ハッシュコードを取得します。Kanzi Studio が現在使用している Preview アプリケーション構成を取得する
Project.GetPreviewConfigurationを追加しました。Kanzi Studio プラグインインターフェースを使用して、2Dエフェクトを作成および適用できるようになりました。
Project.CreateNodeEffectPrefab2DとProject.CreateNodeEffect2Dを参照してください。
プラットフォーム¶
GBM ウィンドウシステムを使用するプラットフォームで、どのグラフィックスカードを Kanzi アプリケーションに使用するかを設定できるアプリケーション構成を追加しました。DeviceIdentifier と グラフィックス出力とデスクトップの変更 を参照してください。
インテグリティプラットフォームパッケージをHarfBuzz 5.3.1に更新しました。
Kzb バージョン (Kzb Version)¶
kzbファイル形式のバージョンを25.0に変更しました。
ドキュメント¶
アクティビティ間の遷移がどのように機能するかについての詳細な説明を追加しました。アクティビティのステータスマネジメント を参照してください。
アクティビティの遷移タイプを視覚化するアニメーションを追加しました。遷移のアニメーションを見るには、その遷移の画像にカーソルを合わせてください。アクティビティ遷移タイプ を参照してください。
スクリプトを使用してローカライゼーションテーブルにPOファイルをインポートする方法についての手順を追加しました。ImportAllLocalizationTables を参照してください。
Flow Layout ノードを操作するための手順をサポートするビジュアルコンテンツを追加しました。Flow Layout ノードを使用する をご覧ください。
チュートリアルを再設計し、ガウスぼかし効果の適用方法と条件が満たされたときにその効果を適用する方法を学びます。チュートリアル: ガウスぼかし効果を作成する を参照してください。
トグルボタンの作成方法を学ぶチュートリアルを再設計しました。チュートリアル: トグルボタンの作成 をご覧ください。
注目すべき修正点¶
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)
kanzi::updateVertexAttributeOffsetsAndVertexSize関数とkanzi::updateVertexAttributeStrides関数が、インスタンス化されたメッシュ (Mesh) の頂点フォーマット情報を誤ってアップデートする問題を修正しました。(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)