既知の問題

Kanzi Engine の既知の問題

  • Kanzi APIの一部はCで書かれています。将来の Kanzi リリースでは、APIをC++に変換する取り組みを継続していきます。

  • SDKに付属するライブラリにソースなしでアプリケーションをリンクすると、デバッグ情報が欠落しているという警告が生成されます。

  • 回転した子2Dノードのクリッピングは、パフォーマンス上の理由から無視されます。例えば、Image ノードが子 Image ノードを持ち、その子 Image ノードを回転させた場合、親 Image ノードは子 Image ノードをクリップしません。

  • Kanzi Engine の現在の制限は、2Dノードがレンダーターゲットにレンダリングするように強制されると(例えば、回転を伴う Viewport 2D)、2Dノードでクリッピングを無効にしてもクリッピングが適用されることです。

  • Render Target Texture の Samples プロパティを変更した場合、変更を適用するために Preview を再起動する必要があります。

  • Kanzi Studio のグリフキャッシュテクスチャがいっぱいになると、Kanzi Studio でアプリケーションのパフォーマンスが低下します。これは、ターゲットプラットフォームに合わせてグリフキャッシュテクスチャのサイズを適切に調整してアプリケーションをビルドする場合、Kanzi アプリケーションのパフォーマンスには影響しません。グリフキャッシュテクスチャのサイズ を参照してください。

  • Node2D_plugin の例は、Preview で実行すると警告を出力します。

  • Kanzi アプリケーションは、ユーザーがリストボックスアイテムの幅よりも絶対値が高い負のアイテム間隔を持つ Trajectory List Box 3D をスクロールするとフリーズします。

  • Prefab Placeholder 3D ノードを作成する際、場合によっては Kanzi がインスタンス化できないプレハブを選択することがあります。これにより、未定義の動作が発生し、Preview が不正確なコンテンツを表示する可能性があります。

    回避策:

    1. F8 を押して Preview を終了します。

    2. Prefab Placeholder 3D ノードで、プレハブを正しいプレハブに設定します。

    3. F5 を押して Preview を開始します。

  • TextBox2D は Windows プラットフォームでのみ実装されています。使用するには、アプリケーションコードの registerMetadataOverride に次のスニペットを含める必要があります。

    #if defined WIN32
        WindowsImeBackend::registerModule(getDomain());
    #endif
    
  • GLSL シェーダーでのリソースの自動バインディングは、すべての状況で動作するわけではありません。GLSL シェーダーのすべてのリソースに明示的なバインディングを使用することをお勧めします。

  • テキストまたはフォントのプロパティを設定するステートマネージャーをアプリケーションが削除または置き換えると、Text Block 2D ノードまたは Text Block 3D ノードは以前のテキストレイアウトとサイズを維持します。アプリケーションがステートオブジェクトのターゲットノードの名前を変更した場合も同様です。Preview では、ステートからテキストまたはフォントのプロパティを削除した場合にも、これが発生することがあります。これは、ノードが Word Wrap、Overflow、Truncation のいずれも使用していない場合に該当します。

    回避策: ステートマネージャーを変更した後、該当する各テキストブロックノードで Node::invalidateMeasure を呼び出してください。Preview では、Preview を再起動してください。

Kanzi Studio の既知の問題

  • 仮想マシン上で、また時折デスクトップの Windows 環境で、Kanzi Studio が未処理の例外エラーを報告して起動に失敗することがあります。

    Windows イベントログや Kanzi Studio のログに、次のようなエントリが記録されます。

    Unhandled exception: System.InvalidProgramException: Common Language Runtime detected an invalid program.
      at Rightware.Kanzi.Tool.ApplicationCommon.EnvironmentInitializer.***********(IEnumerable1  , Boolean  )
    

    回避策: Windows または仮想マシンを再起動します。

  • kzm ファイルをインポートするとき、Kanzi Studio はサブディレクトリから kzm ファイルをロードできません。

    回避策: ファイルエクスプローラーで、各 kzm ファイルをそのリソースタイプのルートディレクトリにコピーします。たとえば、マテリアルを Project1/Materials/subdirectory/ から Project2/Materials/ ディレクトリにコピーします。

  • 同じddsファイルを2回インポートすると、Kanzi Studio が無効なテクスチャを作成し、Image プロパティのドロップダウンメニューに無効なコンテンツを表示します。

    回避策: ファイルエクスプローラーでファイルを更新するか、ddsファイルとそのテクスチャを削除してから再インポートしてください。

  • Boot Camp アップデート 6.0 に含まれる AMD Radeon R9 M370X のデバイスドライバが原因で、Preview が動作しません。この問題を解決するには、Windows デバイスマネージャーを使用してドライバを前のバージョンにロールバックしてください。

  • カスタムピボットポイントを使用するアニメーションを含むfbxファイルをインポートすると、Kanzi Studio が終了する可能性があります。これは、AutodeskのFBX SDKで提供されているFBXインポーターの欠陥によって引き起こされます。

    インポートが失敗した後、Kanzi Studio プロジェクトを開きます。

    1. Library > Resource Files > 3D Assets で、Kanzi Studio を終了させた fbx ファイルを選択します。

    2. Properties で Convert Pivot Points プロパティを無効にします。

      ../_images/disable-convert-pivot-points.png
      • 無効にすると、Kanzi Studio は fbx ファイル内のカスタムピボットポイントを無視します。これにより、カスタムピボットポイントを使用するノードの回転およびスケールアニメーションに影響を与える可能性があります。

      • 有効にすると、Kanzi Studio はピボットポイントをデフォルトの位置にリセットし、アニメーションに視覚的な変更を加えません。これは、Kanzi Studio がカスタムピボットポイントをサポートしていないため、推奨される設定です。

      • カスタムピボットポイントには追加のトランスフォームが含まれており、Kanzi Studio はそれを単一のトランスフォームにベイクします。場合によっては、カスタムピボットポイントがデータを含まないことがあるため、このオプションを無効にしてもコンテンツに影響はありません。

    3. Library > Resource Files > 3D Assets で、Kanzi Studio を終了させた fbx ファイルを右クリックし、ファイルをインポートするために Import 3D Asset File を選択します。

      ../_images/import-3d-asset-file.png
  • Kanzi Studio はアニメーションピボットポイントのインポートをサポートしていません。

  • Kanzi Studio は、これらの glTF 2.0 機能をサポートしていません:

    • 両面マテリアル

    • ポイントとラインプリミティブ

    • S次元とT次元で異なるラップモードを持つサンプラー。Kanzi Studio は、S次元のラップモードを両方に使用します。

  • Kanzi Studio は、画面のDPI設定が100%に設定されている場合にのみ互換性があります。

  • Node Tree ウィンドウを閉じると、ウィンドウ内の選択が正しく更新されません。

  • サムネイルがすべてのアセットに対して正しくレンダリングされません。

  • Node Tree にスキンメッシュを含む Scene プレハブをコピー&ペーストすることはできません。

    回避策: Scene プレハブを Prefabs からプロジェクト内で使用したい場所にドラッグアンドドロップします。

  • 別のインスタンスの Kanzi Studio で開かれている参照された Kanzi Studio プロジェクトから変更をリロードすると、Kanzi Studio が不安定になることがあります。

    回避策: 参照されているプロジェクトの変更をリロードする前に、参照されているプロジェクトを閉じてください。

  • ノードが同じプレハブの複数のインスタンスを含む場合、そのプレハブのインスタンス内のノードのプロパティに対して、これらのプレハブを含むノードからバインディングを作成することはできません。

    回避策: バインドしたいプロパティをプレハブのルートで利用可能にし、プレハブインスタンスのルートでバインディングを作成します。ノードプレハブのインスタンスをカスタマイズする を参照してください。

  • Prefab View の Prefab Template プロパティの値を変更すると、Kanzi はプレハブテンプレートのプロパティのデフォルト値を表示できなくなります。これは、Properties で設定する以外の方法でプロパティの値を変更した場合、例えばステートマネージャーやアプリケーションコードを使用した場合に発生します。同様の問題は、Render Pass View の Render Pass Prefab プロパティの値を変更した場合にも発生します。

    回避策: Kanzi Studio において、Prefab View または Render Pass View に、Prefab View または Render Pass View を使用するように設定した各プレハブテンプレートまたはレンダーパスプレハブのプロパティを追加します。

  • Kanzi Studio は、参照されたプロジェクトからのマテリアルにプリミティブメッシュの Mesh Material プロパティを設定することをサポートしていません。

    回避策: Material (Model3D.Material) プロパティを使用してマテリアルを設定します。Material プロパティの値は Mesh Material プロパティの値を上書きします。

  • ソースへのバインディングを無効化または削除した場合、Preview は無効化または削除の結果を表示しません。

    回避策: 結果を確認するには、Preview を再起動してください。

  • Kanzi Studio から Android デバイスに Kanzi Studio project テンプレートと Code Behind 機能を使用するプロジェクトをデプロイすると、デプロイされたアプリケーションは開いた直後に Android デバイス上で終了します。

    回避策: そのようなアプリケーションをデプロイするには、Kanzi Studio の代わりにAndroid Studioを使用してください。

  • Kanzi Studio からAndroidデバイスにアプリケーションをデプロイする際、<project_name>.kzb.cfg ファイルにリストされているkzbファイルをロードするアプリケーションが、kzbファイルのロードに失敗して終了します。

    回避策:

    Kanzi Studio では、まず kzb ファイルをエクスポートし、その後 Android パッケージをビルドしてデプロイします。

    1. File > Export > Export KZB.

    2. File > Export > Build Android Package.

  • Kanzi Studio プロジェクトの名前を変更した後、Kanzi Studio は既存のコードビハインドプロジェクトを通常の Kanzi Engine Plugin として扱います。これは、Activity Browser を使用してそのようなコードビハインドプロジェクトを開くことができず、Preview の開始または再起動がそのようなコードビハインドプロジェクトの再構築を自動的に開始しないことを意味します。

    回避策: Code Behind プロジェクトをビルドするには、Visual Studio で Code Behind プロジェクトを手動で開いてビルドし、Kanzi Studio Preview を再起動してください。

  • NDK 21.1.6352462をアンインストールした場合、チュートリアル: Androidのデータソース 用のアプリケーションは、File > Export > Build Android Package を選択すると、Kanzi Studio からビルドされません。Kanzi Studio では、Log ウィンドウにこのエラーが表示されます。

    FAILURE: Build failed with an exception.
    * What went wrong:
    A problem occurred configuring project ':app'.
    > NDK at C:\Users\<User>\AppData\Local\Android\Sdk\ndk\21.1.6352462 did not have a source.properties file
    

    これは、app/build.gradle が android.ndkVersion を 21.3.6528147 に設定している場合でも、誤って NDK 21.1.6352462 をデフォルトにする Android Gradle Plugin バージョン 4.1.3 の問題です。

    回避策: チュートリアルアプリケーションをビルドするには、C:/Users/<User>/AppData/Local/Android/Sdk/ndk/21.1.6352462 ディレクトリを削除し、Kanzi Studio からアプリケーションをビルドしてください。ビルド中に、Gradle は NDK 21.1.6352462 をダウンロードしてインストールし、それを使用してチュートリアルアプリケーションをビルドします。

  • 一部のチュートリアルは XML_data_source プラグインに依存しています。例とチュートリアルがインストーラーに含まれなくなったため、プロジェクトのコンパイルが失敗することがあります。回避策: 先に Data sources チュートリアルをダウンロードすることで、依存関係を用意できます。影響を受けるチュートリアルの Get the tutorial ステップには、この手順が含まれるようになりました。

  • 既存の Kanzi プロジェクトを上書きする機能は、kzm ファイルフォーマットでは正しく動作しません。

  • スマートマテリアルでモーフィングを使用するメッシュを含むプロジェクトをインポートすると、インポートされたメッシュはモーフしません。Kanzi Studio の Log ウィンドウには、以下のエラーが表示されます。

    [create-vertexinputstate-attributesize] Binding 1 must provide attributes.
    

    回避策:

    Kanzi Studio で、プロジェクトをインポートした後、プロジェクトを保存して開き直します。

    1. File > Save Project または File > Save Project As...。

    2. File > Open Project...。

    3. ステップ 1 で保存したプロジェクトを選択します。

Kanzi Activity の既知の問題

  • Activity Browser は、Preview がアクティブな場合にのみ機能します。Activity Browser は Preview アプリケーションのランタイム状態を反映するため、Preview がアクティブでない場合は無効になります。

  • 現在、プレビューツールはアクティビティをサポートしていません。Activity ノードと Activity Host ノードには、Preview での視覚化機能とインタラクション機能がありません。

    • Preview では、選択した Activity ノードまたは Activity Host ノードの選択オーバーレイが表示されません。

    • Preview では、Activity ノードや Activity Host ノード、またはそのコンテンツを変更したり、操作したりすることはできません。

    • Node Tool は Activity ノードおよび Activity Host ノードでは機能しません。

    回避策:アクティビティで Preview のツールを使用するには、対応するアクティビティのプレハブを Preview Composition タブで開きます。この場合、そのアクティビティに対して Preview のすべての視覚化機能とインタラクション機能が完全にサポートされます。

  • Activate Activity Message と Deactivate Activity Message には、Activity Host を基準とした相対パスの Activity Activation Path が必要です。しかし、Copy Activation Path コマンドはルートノードを含むフルパスをコピーするため、メッセージのアーギュメントの形式と互換性がありません。

    回避策:コピーしたパスを Activate Activity Message または Deactivate Activity Message で使用する前に、手動で編集してルートノードのプレフィックスを削除してください。

  • Deactivate Activity Message は、ターゲットのアクティビティだけでなく、ターゲットのアクティビティまでのパス上にあるすべてのアクティビティを非アクティブ化します。

  • すでにトランジションがあるアクティビティに新しいトランジションを追加すると、Kanzi Studio は追加のステートマネージャーを作成し、以前に作成されたステートマネージャーを接続されていない状態のまま残します。その結果、時間の経過とともに、接続されていない複数のステートマネージャーが Library に蓄積される可能性があります。

    回避策:トランジションを追加した後、接続されていないステートマネージャーを Library から手動で削除してください。

  • アクティビティのワークフローを使用する場合、Node Tree ウィンドウには Screen とルートの Activity Host のみが表示されます。アクティビティ階層の残りの部分は、Activity Browser と Prefabs ウィンドウでのみ表示されます。

  • 編集作業は Prefabs ウィンドウと Activity Browser に移行したため、サムネイルや表示コントロールなどの Node Tree ウィンドウの機能は、アクティビティのコンテンツでは使用できません。

  • Prefabs ウィンドウは、アクティビティのワークフローに完全には対応していません。このウィンドウでは無効なアクティビティ構造を作成できてしまいます。たとえば、アクティビティを別のアクティビティの直接の子として作成できますが、これは有効なアクティビティ階層ではありません。

    回避策:有効な階層を確保するため、アクティビティ構造の作成と管理には Activity Browser を使用してください。

Kanzi SDK の既知の問題点

  • コインの例は、x86/x86_64 Android エミュレーターでは動作しません。

プラットフォームでの既知の問題

  • スタンドアロンのandroid-freetypeおよびandroid-freetype-itypeプラットフォームパッケージには、不要なヘッダーファイル Engine/libraries/platforms/android-r21d-aarch64/opengl_es_2_0/include/EGL/eglplatform.h が含まれています。

  • QNXはCXXコンパイラとしてのQCCの使用を非推奨としました。QNXアプリケーションのコンパイルは、次のエラーで失敗します。

    QCC is not a full path and was not found in the PATH.
    

    回避策については、QNXでの既知の問題 を参照してください。

  • QNX プラットフォームでは、次のウィンドウフォーマットの値がハードコードされています。

    • バッファサイズ: 24

    • アルファサイズ: 0

    • パディングサイズ: 8

  • 次のグラフィックス出力は kzgfx をサポートしていません。

    • QnxStream

    • QnxEGLPbuffer

  • 要求した構成が使用不可の場合、Android アプリケーションがエミュレーターまたはデバイスで特定のサーフェスのプロパティを要求できないことがあります。これは、以前のベストマッチのロジックが厳密なマッチングに置き換えられた変更が原因です。この問題は Android x86_64 エミュレーターでより頻繁に発生しますが、その他のプラットフォームにも影響することがあります。

    回避策: デバイスに存在する EGL 構成に一致するサーフェスのプロパティを要求します。

関連項目

リリースノートと移行ガイド