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らしい。
- wikipedia:プログラマブルシェーダ
- 「Wii UのGPUはDirectX 10.1世代と判明」 http://game.watch.impress.co.jp/docs/series/3dcg/20110611_452478.html
- 「「プレイステーション 4」グラフィックス」講座(前編)」 http://game.watch.impress.co.jp/docs/series/3dcg/20130307_590595.html
シェーダーモデルの調べ方
自分のPCはノートPCで、グラフィックボードもマザーボード内蔵型なんだけど、ShaderModel 3.0に対応しているのか調べる方法
「コーエーテクモ システムビューアー」 http://www.gamecity.ne.jp/products/ksv/ksv.htm で調べた。
頂点シェーダ・ピクセルシェーダともに ShaderModel3.0であった。
- 「PCのシェーダモデル(SM)の確認」 http://akatonboaka.blog86.fc2.com/blog-entry-81.html
Defferd/Forwardって?
'Shadow Softer'のdocument http://shadowsoftener.com/Documentation.pdf 読むと、Deferred Renderingなら設定はラクで、Forward Renderingは少し設定の必要があるらしい。
Forward RenderingよりDefferd Renderingのほうが多数のライトを扱えるなどの利点がある、しかし半透明表現はForward Renderingのほうがいいらしい。
- 「Deferred Shadingパイプラインとは?」 http://game.watch.impress.co.jp/docs/series/3dcg/20090417_125909.html
- 「レンダリングはDiferred系? それともForward系?」 http://www.4gamer.net/games/032/G003263/20120929009/
そもそも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にする必要がある。
この画像のUnity4.2.2の
- 「BrandX箱」の影はShadowSoftener使わない通常のHardLight。ギザギザ
- 「ShadowSoftener箱」の影はShadowSoftnerのDiffuse/PCF8x8。
PCF8x8はちょっとぼやけ過ぎかも。PCF4x4がよい感じ。
ちなみにこの影設定だが、箱やライトに設定するのではなく、影が投影されている床のShaderを変えることで設定するのだ。