2/2ページ

Custom Nodeの作成(Shader Graph Version7.3.1)

 Unityではシェーダを視覚的に作成できる「Shader Graph」が使用できます。このShader Graphでは様々なノードが利用でき、それらを繫げることでシェーダを作成します。このノードの中にCustom Function Nodeがあり、これを利用することでオリジナルのノードを作成することができます。 ノードへ直接記述する方法  Shader Graphを開き、Custom Funct […]

ノイズのタイリング

パーリンノイズのタイリング  九個のQuadを並べ、シェーダでノイズ2(パーリンノイズ)で作成したパーリンノイズを生成すると このように、境界ができてしまいます。この原因と解決法を探るため、一次元パーリンノイズを並べたグラフと作成しました。 グラフの中央が境界となっています。パーリンノイズは青色の直線と赤色の直線を補間することにより求めています。このグラフより、青色と赤色の直線は一つの直線となって […]

パンくずリストの修正

  • 2020.03.14

 Google Search Consoleで「data-vocabulary.org スキーマのサポートは終了します」という警告が大量に表示されました。パンくずリストの構造化データをdata-vocabulary.orgで記述していたことが原因でした。そのため、data-vocabulary.orgからschema.orgへ変更する必要があります。  当ブログではテーマにLion Blogを使用 […]

海洋シェーダ(泡)

 前回の記事(海洋シェーダ(反射と屈折))では、海面に反射して映るオブジェクトや海中の屈折して見えるオブジェクトを追加しました。今回は、海面に生じる泡の追加を行いました。 波の高さにより泡を生成  波が特定の高さになったときに泡を発生させます。波ごとに高さの判定を行っていますが、その際、波の振幅を計算から除外しています。これにより、振幅が低い波でも泡が発生するように処理をしています。また、泡のテク […]

海洋シェーダ(反射と屈折)

 前回の記事(海洋シェーダ(海の色))では、ノイズで変形させたゲルストナー波によって生成された波に、フレネル反射等を追加することで海を表現しました。この海へ、海面に反射して映るオブジェクトや海中にあるオブジェクトが透過して見える様子を追加しました。 海面の反射  以前作成した平面の鏡面反射を利用して、海面に反射して映る画像を取得します。取得した画像をそのまま表示するのではなく、スクリーン座標を海の […]

海洋シェーダ(海の色)

 前回の記事(海洋シェーダ(波の形))では、ゲルストナー波をノイズで変形させることで 海洋における波の形を作成しました。この波に、フレネル反射等を追加することによって海の色を表現します。 基本の色  海の基本となる色(_SeaBaseColor)にランバート反射で凹凸を付けています。また、波の高さ(wave_height)によって色を変えるために、_SeaShallowColor * wave_h […]

海洋シェーダ(波の形)

 以前、ゲルストナー波(Gerstner Wave)についての記事を掲載しました。このゲルストナー波を用いて海の波をシェーダで作成しました。 ゲルストナー波(8個) shader  単純にゲルストナー波を単純に8個組み合わせるシェーダです。法線は近接する頂点を利用して計算しています。また、ランバート反射によって波の凹凸が分かるように処理をしています。 [crayon-6766e7cfa90f967 […]