Kanzi 3.9.1 マイグレーションガイド¶
このマイグレーションガイドを使用して、Kanzi アプリケーションを Kanzi 3.9.0 から Kanzi 3.9.1 に更新してください。
カラーブレンディング¶
Kanzi 3.9.1 は、2Dノードブラシのレンダリングを修正し、新しいブレンドモードを導入します。2Dノードのブレンディングとコンポジティング を参照してください。
デフォルトで、マテリアルのブレンドモードが Opaque から Alpha: Premultiplied に変更されました。Kanzi Studio の以前のバージョンで作成されたプロジェクトを開き、ブレンドモードが設定されていないマテリアルが含まれている場合、Kanzi Studio は自動的にそれらのマテリアルに Blend Mode プロパティを追加し、Opaque に設定します。
カラー合成の改善により、Kanzi Engine API において Kanzi 3.9.0 と 3.9.1 の間で次の違いが導入されました。
Kanzi 3.9.0 |
Kanzi 3.9.1 |
|---|---|
|
整数変数:
|
|
|
|
|
|
|
|
|
|
削除されました。 |
|
|
|
基底クラスから継承されたメソッド:
|
|
|
|
|
|
削除されました。
|
|
削除されました。
|
NodeCompositor2D::isOpacityCompositionRequest |
NodeCompositor2D::isOpacityAndChildrenCompositionRequest |
In:
|
|
In:
|
|
|
|
これらのクラスと関数は
|
|
|
キューブマップ¶
Kanzi 3.9.1 は、キューブマップ画像のレンダリングを修正します。キューブマップ画像を反転させたり、反射を修正したりする必要がなくなり、期待通りの結果が得られます。
プロジェクトを Kanzi 3.9.1に移行するには、修正に対応するようにpngキューブマップを調整してください。
サードパーティツールでキューブマップ画像を準備する際、画像を任意の軸に沿って反転しないでください。
ddsキューブマップテクスチャを生成するために使用するのと同じキューブマップ画像を使用してください。
キューブマップテクスチャでは、PosZ Image プロパティを使用してキューブマップの前面(カメラの後ろ)を設定し、NegZ Image プロパティを使用して背面(カメラの前)を設定します。
サンプリングに使用する反射ベクトルを変更しないでください。実際の方向を使用してください。
あなたのプロジェクトに、以前のバージョンの Kanzi Studio でキューブマップを機能させるために、サードパーティの画像編集ツールで手動で面を反転させたpngキューブマップが含まれている場合、再度面を反転させるのを避けるために、pngファイルを <TextureName> <direction><Axis>.png のパターンに従って命名することで、Kanzi Studio に画像をこれ以上処理しないよう指示することができます。
PosX Image:
<TextureName> posX.pngNegX Image:
<TextureName> negX.pngPosY Image:
<TextureName> posY.pngNegY Image:
<TextureName> negY.pngPosZ Image:
<TextureName> posZ.pngNegZ Image:
<TextureName> negZ.png
ファイル名にスペース文字を含めるようにしてください。
ddsファイルからインポートしたキューブマップテクスチャのサイド画像ファイルは、すでにこの命名規則に従っています。
キューブマップテクスチャ (Cube-map Texture) を使用する を参照してください。
入力とフォーカスの処理¶
Kanzi Engine APIを使用して作成された List Box および Scroll View ノードは、デフォルトでフォーカス可能ではなくなりました。List Box または Scroll View ノードがキーボードフォーカスを取得できるようにするには、Node::FocusableProperty を追加し、それを true に設定してください。
Kanzi Studio はデフォルトで、List Box ノードと Scroll View ノードに Focus > Focusable プロパティを追加して有効にします。
アクティビティとフォーカス¶
Activity Host ノードは、Activity ノードで最後にフォーカスされたノードの保存と復元を有効にするために、Save Last Focused Node および Focus Scope Type プロパティを必要としなくなりました。このバージョンから、Kanzi Studio はデフォルトで Activity Host ノードにこれらのプロパティを追加しなくなりました。
これらのプロパティの存在はアプリケーションの動作に影響を与えません。ただし、プロジェクト内の既存の Activity Host ノードから Save Last Focused Node および Focus Scope Type プロパティを削除することができます。
コードビハインドの変更¶
Code Behindのために
KANZI_HOME環境変数を設定する必要がなくなりました。
Kanzi アクティビティシステムの変更点¶
これらの Kanzi アクティビティメッセージ、メッセージ引数、およびプロパティをリファクタリングしました。
Kanzi 3.9.0
Kanzi 3.9.1
ActivityConcept::PrefabAttachedMessageActivityHostConcept::ActivityPrefabAttachedMessageActivityConcept::PrefabDetachedMessageActivityHostConcept::ActivityPrefabDetachedMessageActivityConcept::StatusChangedMessageArguments::StatusArgumentActivityConcept::StatusChangedMessageArguments::ActivityStatusDataDrivenExclusiveActivityHostConcept::ActiveItemIndexPropertyDataDrivenExclusiveActivityHostConcept::ActiveActivityIndexPropertyこれらのメッセージを使用する Kanzi Studio プロジェクトを開くと、Kanzi Studio が自動的に変更を適用します。
これらの Kanzi アクティビティAPIと変数の名前を変更しました。
Kanzi 3.9.0
Kanzi 3.9.1
DataDrivenExclusiveActivityHostConcept::setActivityTemplate(string prefabUrl)DataDrivenExclusiveActivityHostConcept::setActivityTemplate(string_view prefabUrl)DataDrivenExclusiveActivityHostConcept::s_defaultActiveItemIndexDataDrivenExclusiveActivityHostConcept::s_defaultActiveActivityIndexDataDrivenExclusiveActivityHostConcept::getActiveItemIndex()DataDrivenExclusiveActivityHostConcept::getActiveActivityIndex()DataDrivenExclusiveActivityHostConcept::setActiveItemIndex()DataDrivenExclusiveActivityHostConcept::setActiveActivityIndex()
Kanzi Java API の変更¶
列挙クラス¶
すべての Kanzi Java API 列挙クラスは、現在インターフェース Enum を実装しており、そのため次のメソッドを提供します。
getValue()を使用して列挙子の整数値を取得するtoEnum()を整数値からそれぞれの列挙子に変換するために
Kanzi 3.9.0では、いくつかの列挙型クラスが異なる名前のメソッドを通じてこれらの機能を公開していましたが、Kanzi 3.9.1で名前が変更されました。
Kanzi 3.9.0 |
Kanzi 3.9.1 |
|---|---|
|
|
|
|
PropertyType.DataType を PropertyDataType に名前変更しました。プロパティデータ型の名前は、ネイティブ Kanzi Engine API の名前と一致するようになりました。
Kanzi 3.9.0 |
Kanzi 3.9.1 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
リソースマネージャー¶
Kanzi 3.9.1 は、カスタムリソースマネージャープロトコルハンドラーインターフェースを変更します。
ResourceManager.LoadTaskインターフェースは、現在抽象クラスです。ResourceManagerはloadFunctionおよびfinishFunctionの引数ではなくなりました。代わりにResourceManager.LoadTask.getResourceManager()を使用してください。
Kanzi 3.9.0 |
Kanzi 3.9.1 |
|---|---|
class MyLoadTask
implements ResourceManager.LoadTask
{
@Override
public void loadFunction(
ResourceManager resourceManager)
{
...
}
@Override
public void finishFunction(
ResourceManager resourceManager)
{
...
}
@Override
public Resource getResult()
{
...
}
}
|
class MyLoadTask
extends ResourceManager.LoadTask
{
@Override
public void loadFunction()
{
...
}
@Override
public void finishFunction()
{
...
}
@Override
public Resource getResult()
{
...
}
}
|