以下の内容はhttps://www.nowsprinting.com/entry/2026/02/06/080000より取得しました。


Test Helper v1.4.0 : FLIPによるTexture2D比較子

Unity Test Frameworkによるテストを書くときに便利な Test Helper パッケージの v1.4.0 をリリースしました。 本バージョンでは、ビジュアルリグレッションテストなどに便利なカスタム比較子 FlipTexture2dEqualityComparer を追加しました。

github.com

FlipTexture2dEqualityComparer

FlipTexture2dEqualityComparer は、2つの Texture2D を制約モデルで検証するときに使用できる比較子(comparer)です。 次のように使用します。

[Test]
public async Task MyTestMethod()
{
  // テスト実行(省略)

  // スクリーンショットを撮影
  await Awaitable.EndOfFrameAsync();
  var actual = ScreenCapture.CaptureScreenshotAsTexture();

  // 期待する画像をロード
  var expected = AssetDatabase.LoadAssetAtPath<Texture2D>(ExpectedImagePath);

  // 比較子を使って検証
  var comparer = new FlipTexture2dEqualityComparer(meanErrorTolerance: 0.01f);
  Assert.That(actual, Is.EqualTo(expected).Using(comparer));
}

通常、オブジェクト同士を Is.EqualTo で比較すると参照の比較になりますが、Using モディファイアで比較子を渡すことで比較方法を指定できます。 FlipTexture2dEqualityComparer はFLIP(後述)を使用して2つの Texture2D を比較し、平均エラー値がしきい値(上例では 0.01f)より高ければテストを失敗させます。

また失敗時には、エラー値から生成したマップファイルを出力します。差異の大きいところが暖色になるマグママップ(ヒートマップ)です。

FlipBinding.CSharp

FlipTexture2dEqualityComparer を使用するには、Test Helperパッケージのほかに、FlipBinding.CSharp NuGetパッケージのインストールが必要です。

FlipBinding.CSharp は、FLIP(後述)の C#バインディングAPIで、株式会社サイバーエージェント SGEコア技術本部が公開しているOSSです。 Windows, macOS, Linuxで動作します。

www.nuget.org

FlipBinding.CSharp は、UnityNuGet(OpenUPM)もしくは NuGetForUnity からインストールできます。 UnityNuGet および NuGetForUnity の使いかたは次の記事を参照してください。

www.nowsprinting.com

なお、UnityNuGet(OpenUPM)以外 からインストールしたときは、カスタムスクリプティングシンボル ENABLE_FLIP_BINDING の設定も必要です。

FLIP

FLIP は、NVIDIA Research Projects が公開している画像比較アルゴリズムです。 Python および C++ 実装がOSSとして公開されています。

github.com

FLIP は人間の目が認識する差異を評価してくれるアルゴリズムで、従来手法のようにパラメタ調整に悩むことなく、しきい値の決定だけで精度の高いビジュアルリグレッションテストを運用できるのが特徴です。 FLIP によるビジュアルリグレッションテストについて詳しくは、次の清原氏によるブログ記事および CEDEC 2025 の講演資料が参考になります。

blog.sge-coretech.com

cedil.cesa.or.jp


Unity Test Framework によるテストについては同人誌を頒布していますので、こちらも参考にしてください。

ikagoya.booth.pm

ikagoya.booth.pm




以上の内容はhttps://www.nowsprinting.com/entry/2026/02/06/080000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14