まだUnityのジャギー対策にサムネイル画像を作ってるの?「UIDynamicSampler」
- 公開
- 正式公開 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 Sampler | UI 描画の補正 | 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 やプルリクエストを受け付けています。