Asset Store
使用方法
- Unityのメニューの「Window>ShaderForge」を選択
- 新規でシェーダーを作成する場合は「New Shader」を選択
- 既存のシェーダーを読み込んで編集する場合は「Load Shader」を選択
- 上記以外のボタンはWikiやfeedback center、ShaderForgeのサイトにアクセスする
- 「New Shader」を選択した場合はシェーダーファイルの作成場所を選択
- 「Load Shader」を選択した場合は編集するシェーダーファイルを選択
- その後、下記のウィンドウが表示される
- (機能によってはPro版でしか選択できないものもある)
オブジェクトプレビュー機能説明
- ノードを構築して作成したシェーダーをオブジェクトに適用して確認可能
- Consoleにはエラーや警告が表示される
① 新規作成か読み込みのウィンドウに戻る
② ノードプレビューに影響する設定
項目 | 説明 |
---|---|
Hierarchal Node Move | 選択されたノードの子階層にあるノードを一緒に動かす場合はオン |
Auto-Update Node Previews | 自動でノードプレビューを更新する場合はオン |
Use scroll in the quickpicker | 不明 |
Show variable name & precision | ノードの下に型とプロパティ名を変更するためのメニューを表示する場合はオン |
Show node browser panel | ノード一覧パネルを表示する場合はオン |
③ 現在のノードを構築したシェーダーをコンパイルして適用する
- 「Auto」がONの場合は自動で選択される
④ ノードプレビューを変更した場合に自動でシェーダーをコンパイルしてオブジェクトに適用する場合はオン
- ノードプレビューを変更すると毎回コンパイルがかかり、大がかりなものだと時間がかかるため、その場合はオフにする
⑤ シェーダーを適用するメッシュを指定
⑥ 背景色を指定
⑦ ⑧で表示しているオブジェクトを回転させる場合はオン
⑧ シェーダーを適用したオブジェクトを表示
- マウスホイールで画面が拡縮可能
- オブジェクトをクリックしてマウスを動かすとオブジェクトの移動が可能
- 画面にカーソルを移動させると出てくるカメラマークを選択するとスクリーンショットを出力可能
⑨ シェーダーの名前やプラットフォームなどの設定
項目 | 説明 |
---|---|
Path | シェーダーのパス名 |
Fallback | ノードで構築したシェーダーが非対応だった場合に代わりに使用されるシェーダーの指定 |
LOD(Level Of Detail) | シェーダーを適用するLODの閾値を設定(値が小さくなればなるほどカメラから遠くに存在するオブジェクトは構築したシェーダーが適用されなくなる) |
Target renderers | シェーダーを適用するプラットフォームをオンにする |
⑩ 現在追加されているプロパティの一覧
⑪ ライティングの設定項目
項目 | 説明 |
---|---|
Render Path | レンダリング方法を設定可能。基本はForwardベースなのでForwardで良いと思います。DeferredレンダリングはPro版のみの機能なので、Pro版ではない場合は自動的にForwardになるようです |
Light Model | Unityが用意しているどのライティング方法を適用するかの設定 |
Unlit/Custom:ライティング設定がほぼない設定 | |
Blinn-Phong:ブリンフォンライティング用の設定が可能 | |
Phong:フォンライティング用の設定が可能 | |
PBL:物理ベースレンダリング用の設定が可能 | |
Double incoming light | ライトの強さを2倍にするかどうかのフラグ |
Shader変更点 | LightMode=ForwardBaseのfloat attenuation = LIGHT_ATTENUATION(i)*2; |
indirectDiffuse += UNITY_LIGHTMODEL_AMBIENT.rgb*2; // Ambient Light | |
LightMode=ForwardAddのfloat attenuation = LIGHT_ATTENUATION(i)*2; | |
Remap gloss from [0-1] to [1-2048] | 光沢の再マッピングを調整するためのフラグ。すべてのシェーダーに対してデフォルトでオンになっている |
Fresnel term(PBLのみ) | フレネル項の計算処理をするかどうかのフラグ |
Visibility term(BLのみ) | 可視性項の計算処理をするかどうかのフラグ |
Energy Conserving(Cutom以外設定可能。PBLは自動設定) | 省エネルギーモードを切り替えるかどうかのフラグ(処理が軽減されるが見た目も軽いものになる) |
Light Count | ライト数によって、処理を変更する |
Single Directional:ライトが1つの場合の処理。ForwardBaseのみの処理をする | |
Multi light:複数ライトの場合の処理。ForwardBaseとForwardAddの処理をする | |
Normal Quality | 法線方向を正規化するかどうかのフラグ |
Lightmap support | ライトマップをサポートする処理を追加するかどうかのフラグ |
Light probe support | ライトプローブをサポートする処理を追加するかどうかのフラグ |
Receive Ambient Light | AmbientLightを考慮した処理を追加するかどうかのフラグ |
Mask directional light specular by shadows(MainNodeのSpecularへNodeを繋げている場合のみ有効) | 鏡面反射のマスキングを有効にできる(ディレクショナルライト使用時のみ) |
⑫ ピクセルのクオリティの設定
項目 | 説明 |
---|---|
Per-pixel screen coordinates | ピクセル単位のスクリーン座標や頂点単位のスクリーン座標を切り替えることができるフラグ(基本がピクセル単位のスクリーン座標なのでチェックを入れておく) |
Per-pixel light probe sampling | ピクセル単位でライトプローブサンプリングを適用するかどうかのフラグ(ライトプローブを活用する場合はチェックを入れておく) |
⑬ ブレンディングに関連する設定
項目 | 説明 |
---|---|
Blending | シェーダーで設定されているブレンディングモードを選択 |
Alpha Blended:アルファブレンド(透過処理) | |
Additive:(加算合成処理) | |
Screen:スクリーン(乗算の逆、明るくなる) | |
Multiplicative:乗算処理(暗くなる) | |
Custom:ブレンディングを独自に設定可能 | |
Face Culling | 表面のカリング方法の設定 |
Backface Culling:裏面をカリング | |
Frontface Culling:表面をカリング | |
Double Sided:表面を少しカリングすることで裏面が見えるようなる | |
Dithered alpha clip | アルファクリップへディザリングをかけるかどうかのフラグ |
Offset Factor&Units | オフセットの設定 |
Receive Fog | フォグの処理をするかどうかのフラグ |
Override Fog Mode:チェックするとフォグの種類を設定可能 | |
Override Fog Color:チェックするとフォグのカラーを設定可能 | |
Override Fog Density:チェックするとフォグの深さを設定可能 | |
Override Fog Range Near&Far:チェックするとフォグのニア&ファープレーンを設定可能 | |
Auto Sort | 描画順を自動で設定するかどうかのフラグ(チェックを外すことで独自に設定することも可能) |
⑭ シェーダモデルを2.0に変更するためのフラグ
- チェックしているとシェーダモデルを2.0(モバイル用)に変更して処理も変更する
- 機能が動作しない場合が多いのでコードの確認が必要
ノードプレビュー機能説明
- 追加したNodeをMainNodeに連結することでシェーダーを作成する
- 自分で数値やテクスチャを設定したい場合はノード一覧のPropertiesのNodeを追加すれば設定可能
- 選択しているNodeは水色の枠で囲まれる
基本コマンド
項目 | 説明 |
---|---|
Ctrl + Z | Undo |
Ctrl + Y | Redo |
Nodeを選択した状態で Ctrl + C | Nodeをコピー |
Nodeを選択した状態で Ctrl + V | Nodeをペースト |
Nodeを選択した状態で Delete | Nodeを削除 |
左クリックしながらマウスを移動 | 画面の移動 |
マウスホイールを操作 | 画面の拡縮 |
Nodeの追加方法
- ノード一覧からNodeをドラッグしてノードプレビューへドロップ
- 右クリックして項目を選択する
- ノードプレビューでNode名の頭文字のアルファベットのキーを押し続けると下記の画像のようなリストが表示される
対応キー(1,2,3,4 & Y,G,J,K,Z,X以外のアルファベット)
- リストの欄移動はマウスホイールで行うことができる
Nodeの繋がりを切る方法
- MainNodeの付箋のようなところをクリックし続けた状態でBackspaceキーを入力
- Altキーを押しながら右クリックで線を引くことでNodeとの繋がりを切ることも可能
- 複数のNodeの繋がりを一気に切ることもできる
コメント追加方法
- Nodeを右クリックをすることで下記のメニューが表示される
項目 | 説明 |
---|---|
Edit Comment | Nodeへコメントを追加(記号は使えないので注意) |
What does Node名 do? | WikiのNodeの説明へジャンプ |
ノード一覧
その他機能
- ShaderForgeをUnityプロジェクトに追加するとシェーダーのInspectorに下記の画像のような表示が追加される
Open in Shader Forge
ShaderForgeのノードウィンドウを開く
ShaderForgeで作成したシェーダーではない場合、警告が表示される
この状態でクリックしてShaderForgeのノードウィンドウでコンパイルすると上書きされてしまうので注意
Open source
- ソースコードを表示
Open compiled
- コンパイルしたソースコードを表示
参考サイト様
公式サイト
説明付サイト
参考動画
- https://www.youtube.com/watch?v=x72znBFLsZs
- https://www.youtube.com/watch?v=EjCXwV0YYdU
- https://www.youtube.com/watch?v=U9aRn0BE-co
- https://www.youtube.com/watch?v=JDZyDpnN68I
- https://www.youtube.com/watch?v=IkPX_Bb6Oys
- https://www.youtube.com/watch?v=WMHpBpjWUlY
- https://www.youtube.com/watch?v=FlW7PwOoQoE
- https://www.youtube.com/watch?v=xQk9Kbv7d0w
Shader Forge Wiki
- http://acegikmo.com/shaderforge/wiki/index.php?title=Main_Page
- 構築されたノードの画像が存在する