以下の内容はhttps://www.karvan1230.com/entry/2022/09/06/195719より取得しました。


【小ネタ】影を落とすだけのオブジェトと影を受け取るだけのオブジェト

国葬

例の国葬の日が休日にならないと最近知ってガッカリしている皆さんこんにちは。どうやら休日にすると喪に服すことを強いる事になるから休日としないらしいのですが、意識低い系の一般国民としては何でもよいので休みが欲しいです。そうでないなら日程を前倒しして早々に終わらせて下さい。意識高い系地球市民の方々の騒音が鬱陶しくて仕方ありません。

 

Unity1week

例によって例のごとくunityroomで一週間ゲームジャムが始まりました。

unityroom.com

今回はお題が「ためる」となっています。
前回は制作途中で参加を断念したので今回は何とか作り切って参加したいのですが、ん~・・・動詞のお題は難しいですね。ゲームの方向性がどうしても狭い範囲に絞られる気がします。
私の場合はその時作りたいゲームをお題に寄せる形で構想を練るのですが、今回はどうしようか悩みどころです。

 

影だけ描画

Unityで3Dモデルの影の描画はデフォルトで行われるので通常はあまり意識しませんが、影に特殊な効果を乗せようとした場合はシェーダーを改造する必要があり骨が折れます。

幸いGoogle等で検索すると影用のシェーダーがいくつか公開されているので勉強がてら色々と参考にさせて頂いています。

今回はその中でメッシュに沿って影だけを描画するシェーダーが公開されていたのでそのご紹介。

github.com

レポジトリ中のShadowDrawer.shaderファイルのみを手元のプロジェクトアセット以下にD&DすればOKです。

中央のオブジェトに対してShadowDrawer.shaderを採用したMaterialを適用すると

自身が作る影の部分だけが描画されています。

 

影だけ落とす

このオブジェトに対して影を落とすような板を設置します。

このままだとカメラに映らないので、板に対してメッシュを描画せずに影だけを落とすように設定します。

こちらはMesh RendererのCast Shadowsの設定を「Shadows Only」にするのみです。

 

そうするとこんな感じになります。

これだと良くわからないので、影を作っている平板を細い板に変えてオブジェトの前に並べてみます。

そうすると

これを動かしてみると

 

で、このShadowDrawer.shaderでは影の色を変更できるので、背景に何かしろの色を付けて、影の色を白系に変えると

逆に影がかかる部分が光っているように見えます。

これを先ほどと同様に動かしてみると

ゲーム中の演出に使えそうですね。もしくは「これは何でしょう?」的なゲームにできるかも




以上の内容はhttps://www.karvan1230.com/entry/2022/09/06/195719より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14