UnityのAsset 'Shadow Softener'

UnityのAsset 'Shadow Softener' https://www.assetstore.unity3d.com/#/content/11102 を購入するときに調べた用語メモ。

シェーダーモデルとは?

購入ページに「require Shader Model 3.0 or higher」と書いてある。シェーダーモデルとは?


以下によると、3D表示機能の世代名らしい。
XBox初代がShaderModel2世代で、XBox360/PS3がShaderModel3世代。WiiUがShaderModel4。PS4はShaderModel5らしい。

シェーダーモデルの調べ方

自分のPCはノートPCで、グラフィックボードもマザーボード内蔵型なんだけど、ShaderModel 3.0に対応しているのか調べる方法


コーエーテクモ システムビューアー」 http://www.gamecity.ne.jp/products/ksv/ksv.htm で調べた。
f:id:itouhiro:20131018223909p:plain
頂点シェーダ・ピクセルシェーダともに ShaderModel3.0であった。

Defferd/Forwardって?


'Shadow Softer'のdocument http://shadowsoftener.com/Documentation.pdf 読むと、Deferred Renderingなら設定はラクで、Forward Renderingは少し設定の必要があるらしい。


Forward RenderingよりDefferd Renderingのほうが多数のライトを扱えるなどの利点がある、しかし半透明表現はForward Renderingのほうがいいらしい。


そもそもDefferd RenderingはUnity Proでしか使えないとわかった http://docs.unity3d.com/Documentation/Manual/RenderingPaths.html 。Unity Free使っている私はForwardしかないのだった。



Unity Free 3.5.7 でも使えるのか?

Unity Free ver3.5.7 では影が出ない。Unity Freeの場合 v4.2以上で Directional LightをHard Lightにする必要がある。

f:id:itouhiro:20131018225821j:plain
この画像のUnity4.2.2の

  • 「BrandX箱」の影はShadowSoftener使わない通常のHardLight。ギザギザ
  • 「ShadowSoftener箱」の影はShadowSoftnerのDiffuse/PCF8x8。

PCF8x8はちょっとぼやけ過ぎかも。PCF4x4がよい感じ。


ちなみにこの影設定だが、箱やライトに設定するのではなく、影が投影されている床のShaderを変えることで設定するのだ。