Version: 2022.3
言語: 日本語
Metal について
Metal グラフィックスのデバッグ

Metal の要件と互換性

このページには、Metal の使用に際しての要件および Metal と互換性のある機能の一覧を掲載しています。

プラットフォームの互換性

Unity は、iOS、tvOS、macOS 用に Unity プレイヤーで Metal をサポートしています。また、macOS 用に Unity エディターで Metal をサポートしています。

ハードウェアの互換性

Unity は、Unity がサポートする全ての Apple デバイス用に Metal をサポートしています。

レンダーパイプラインの互換性

機能 ビルトインレンダーパイプライン ユニバーサルレンダーパイプライン (URP) HD レンダーパイプライン (HDRP) カスタムのスクリプタブルレンダーパイプライン (SRP)
Metal あり あり あり (macOS のみ) あり

シェーダーの互換性

シェーダーのデータ型のサポート

一部の Metal デバイスは、16 ビットの half データ型をサポートしていません。Unity シェーダーはこうしたデバイスでは half を 32 ビットの float として表現します。同様に、real データ型は、モバイルデバイスでは half、デスクトッププラットフォームでは float として Unity シェーダーによって表現されます。このセクションの説明は、half データ型を使用して、half をサポートしないデバイスにアプリケーションをデプロイしたい場合に関連するものです。

half を適切な場所に使用することで、操作を高速化し、メモリを節約し、モバイルデバイスのバッテリーを節約できます。高精度が必要ない値には half 使用するのが最善です。本セクションの情報を参照して、コードを、half をサポートしないデバイスに確実に対応するようにしてください。

シェーダーのデータ型と、それらがサポートする精度についての詳細は、シェーダーのデータ型と精度 を参照してください。

サポートの影響

16 ビット浮動小数点数は 32 ビット浮動小数点数に比べて低精度です。half を使用して、それをサポートするデバイスでアプリケーションをテストすれば、多くの場合は、低精度に起因する問題を確認してそれを修正することができます。しかし、half をサポートしない (そして halffloat で代用する) デバイスでアプリケーションをテストした場合、後に half をサポートするデバイスでアプリケーションを実行した時に発生する精度の問題が見落とされる可能性があります。

half をサポートしないデバイスに Unity アプリケーションをデプロイしたい場合は、floathalf に置き換えられてもコードが正常に機能することを確認してください。half をサポートする Metal GPU は、バッファ (定数バッファも含む) が 16 ビット値が含んでいることも想定しています。half をサポートしない GPU は、これらのバッファが 32 ビット値を含んでいることを想定しています。バッファに値を書き込む時に、CPU 側のコードでこのことを考慮する必要があります。

Metal について
Metal グラフィックスのデバッグ
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961