テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】Textureの「Wrap(繰り返し)」でMirrorが出来るようになった

https://cdn-ak.f.st-hatena.com/images/fotolife/t/tsubaki_t1/20170412/20170412232539.jpg

Unity2017より、TextureのWrap表現でMirrorが使用出来るようになりました。

TextureのWrap

Wrapモードを指定すると、TextureのTilingが設定されていた時に「繰り返し」表現を行ってくれます。
例えば下のように、QUADは13,9のサイズでTilingが13,9の場合、横に13、縦に9の矢印マークを表示してくれます。

f:id:tsubaki_t1:20170611231826j:plain

また、この「繰り返し」が不要な場合、Clampに設定すれば繰り返しは行われません。その場合、一つだけ表示されます。

f:id:tsubaki_t1:20170611232108j:plain

Mirror

2017よりWrapモードでMirrorが表現出来るようになりました。これは下のように、繰り返す際に反転という動画です。

f:id:tsubaki_t1:20170611233131j:plain

UVスクロール時、始点と終点を合わせなくても繋げやすい

上手く使用すると、地形のリピートのようなケースで、終点と始点の画像がキッチリ合うように設定する…といった面倒臭さを回避出来ます。

これが特に活用されるのはUVスクロール時でしょう。勿論、画像が反転してしまう点は注意が必要ですが、良い言い方をすれば、2回に1回は反転した画像が流れるため、UVスクロール時に2種類の画像を使用していると言えなくもないです。

f:id:tsubaki_t1:20170611233238j:plain

パーティクルに活用

多分この機能で性能面で活用出来るのはパーティクルかもしれません。

パーティクルで「円」や「左右対称」な絵を使用する事は多いと思います。この際に、片面もしくは1/4面のテクスチャを用意すれば、ミラーする事で残りの面も表示する事が期待出来ます。

例えば魔法陣のような左右対称の円形の物を使用する場合、同一サイズでより高画質な、もしくは同画質でより小さな物を使用できるかもしれません。

f:id:tsubaki_t1:20170611233850j:plain

上下左右対象である点がミソです。

また、SpriteParticleには使用できなさそうです。

TextureImporterから設定

設定方法は、TextureのImporter設定にあるWrapModeをMirrorに設定するだけです。

f:id:tsubaki_t1:20170611234318j:plain

Pre-axisではX軸とY軸で各々設定することが出来ます。例えばX軸はMirrorだがY軸はClampとしたい場合、この設定が活用出来ます。

f:id:tsubaki_t1:20170611234644j:plain

Spriteでは使えない

残念ながら(?)ImageやSprite RendererといったUVありきの設定では使用する事は出来ませんでした。Raw ImageやQUAD(With Material)、Particle等では使用できるので、その辺りで使い分ける事になるかなと思われます。

日記

やっと書く時間が取れた感

関連

tsubakit1.hateblo.jp