まだUnityのジャギー対策にサムネイル画像を作ってるの?「UIDynamicSampler」

UI Dynamic Sampler
Unity の uGUI で、大きな画像を小さく表示したときのギザギザを減らすコンポーネント
GitHub公式サイト
公開
正式公開 2025-02-13
作り手
mob-sakai(個人)
対応
Unity(2020.3 以降)
価格
無料(MIT ライセンス)
評価
GitHub のスター 50(2026-10-23)

どんなアプリか

This package provides a component to reduce jaggies in UI elements.

mob-sakai さん、GitHub の README

Unity の UI(uGUI)向けのパッケージです。たとえば 2048×2048 のテクスチャを 100×100 ピクセルで表示すると、斜めの線がギザギザに見えることがあります。Retina ではない標準的な画面のように DPI の低いディスプレイでは、これが特に目立つと README は説明しています。

これまでの対処は、表示サイズに合わせたサムネイルを作るか、ミップマップを使うことでした。ただ、どちらもアセットが大きくなり、管理も複雑になります。UI 要素のサイズによっては、ぼやけたり、ギザギザが十分に減らなかったりすることもあるそうです。

UIDynamicSampler コンポーネントは、いま表示されている UI 要素のサイズに合わせてテクスチャを動的にサンプリングするので、アセットを大きくせずにギザギザを減らせます。サンプリングした結果はキャッシュされ、処理の重さを抑えます。

使い方は、Image か RawImage の UI 要素に UIDynamicSampler コンポーネントを追加すると効果がかかる仕組みです。インスペクターの Add Component から追加するか、Component > UI > UIDynamicSampler のメニューから追加します。ブラウザで動く WebGL のデモも公開されています。

同じ分野のアプリ

名前型仕掛け対応料金
UI Dynamic SamplerUI 描画の補正UI の表示サイズに合わせてテクスチャを動的にサンプリングし、ギザギザを減らすUnity 2020.3 以降無料(MIT)
ResoDynamix解像度の動的変更3D と UI の描画解像度を別々に動的に変え、UI をくっきり保つUnity ライブラリ無料(OSS、ライセンス要確認)
MiniBokeh描画エフェクト1枚の基準面で奥行きを近似する、軽量な被写界深度エフェクトUnity(URP)無料(ライセンス要確認)
KinoEight URPポストエフェクト8ビット風のポストエフェクト「KinoEight」を URP 向けに移植Unity 6(URP)無料(OSS, Unlicense)

入れる前に

Unity 2020.3 以降が必要です。README がすすめている入れ方は OpenUPM からで、リリースされた更新を受け取りやすいためとしています。Package Manager に git の URL を指定する方法、manifest.json に書き足す方法、ソースを組み込みパッケージとして置く方法も載っています。

設定できる項目は3つあります。Sampling Threshold は、画面の1ピクセルあたりのテクセル数がこの値を超えたときに動的サンプリングを行うしきい値です。Scale Factor は描画サイズに対する動的テクスチャの倍率で、大きくするほどメモリを多く使います。Pre Down Sampling Rate は、事前のダウンサンプリングでかけるぼかしの強さです。

作り手が空き時間に開発しているオープンソースのプロジェクトで、ライセンスは MIT です。Issue やプルリクエストを受け付けています。