3 / 4 Textureの範囲外参照と補間
WrapとFilterを、異なる問題を扱う設定として比較します。
比較条件の準備
Wrapの比較ではTiling=(2,2)にして0〜1の外を読む状態を作ります。Filterの比較ではTiling=(1,1)へ戻し、画像の一画素が大きく見える位置までCameraを近づけます。変更前のCamera位置とImport設定を記録してください。
テクスチャーの表示方法を設定する
範囲外の UV の扱いと拡大縮小の補間方法

テクスチャーの Import Settings で Wrap Mode と Filter Mode を設定できる。
シェーダーで同等の計算は可能だが、通常はテクスチャー側で設定する。
テクスチャーには、範囲外の UV をどう扱うか、 拡大縮小時に色をどう補間するかといった属性があります。
これらの属性はテクスチャー側で設定します。
静的な設定のため、シェーダー側で操作することは基本的にはできません。
つまり、テクスチャー側の設定もシェーダーの挙動に影響するため、シェーダーを扱う際には基本的な設定を理解しておく必要があります。
Wrap Mode:範囲外の UV の折り返し設定

Clamp の例: Tilingの倍率が高くても繰り返されず画像の端が引き延ばされている。
Repeat は、範囲外のテクスチャーを繰り返してサンプリングします。Clamp は、テクスチャーの端を伸ばしてサンプリングします。
Wrap Mode はテクスチャー側の設定です。
シェーダー側ではありませんので注意してください。
Filter Mode:拡大縮小時の補間方法

左がPoint、右がBilinearの表示例です。
Point は最も近い画素の色をそのまま使うためドットの境目がくっきり見えます。Bilinear は周囲の画素の色を補間するためなめらかに見えます。
ドット絵は Point、 写真などは Bilinear が向いています。
テクスチャーの内容に合わせて選んでください。
実習4:Wrap ModeとFilter Modeを切り替える
- テクスチャーの Import Settings を開く
Wrap ModeをRepeatとClampで切り替えるFilter ModeをPointとBilinearで切り替える
- ドット絵、模様、写真、グラデーションで向き不向きがあります
適切なモードを探してみてください。
条件を変えた確認
画像の端が外へ引き伸ばされる問題と、拡大した輪郭をくっきり見せたい問題では、どちらの設定を変更しますか。
予測と結果の照合
範囲外の読み方はWrap Mode、拡大時の画素間の読み方はFilter Modeです。二つを同時に変えると原因を分けにくくなります。
Cameraを元の位置へ戻し、Wrap=Repeat、Filter=Bilinearを比較の基準として記録します。
- RepeatとClampを範囲外UVで比較した。
- PointとBilinearを同じ拡大率で比較した。