テラシュールブログ

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

Unityで影が汚く表示される場合の対処

新板

 

tsubakit1.hateblo.jp

 

旧版

 

Unityを使っていると、たまに影が汚く表示される事がある。例えば以下の様な感じ。これは極端な例だが、「なんかブロック調になる」とか「ボケる」等々、そういった特徴が出る。

f:id:tsubaki_t1:20140729225344j:plain

 

対策

 

1つは、影を生成しているLightコンポーネントのShadow TypeのResolutionを「High Resolution」にせっていする事だ。こうすると、綺麗に表示されるようになる。ただし影に使用するバッファの解像度が上がるので負荷は上がる。

 

f:id:tsubaki_t1:20140729230430j:plain

 

もう一つは、影の描画範囲を狭くすることだ。つまり、Quality SettingsのShadow Distanceを最低限の値に設定する。

この方法は負荷が少なく、多少は綺麗にしてくれる。というか、この値が恐ろしい設定になっていると、HighResolutionにしても汚いままとなる。

 

f:id:tsubaki_t1:20140729230415j:plain

 

ただし、ShadowDistanceを小さい値に設定すると、遠くのオブジェクトが影を表示しなくなってしまう。その辺りは、ライトマップをベイクしたり、擬似シャドウを使う等々、工夫すると良さそうだ。

 

f:id:tsubaki_t1:20140729231919j:plain

追記

CameraのNear-Farの距離を狭くする事でも同様の効果が得られます