[Unity]自作のSkyboxでジュリア集合に囲まれる

無題
Pocket

前回の記事を更に発展させて、自作のSkyboxを作ってみました。

 

▼前回の記事

[Unity]ジュリア集合で遊ぶ | notargs.com

こんな感じで動作します。

無題

 

無題

 

コード全文

概要

タグのRenderType、Queueともに”Background” を指定することで、Skyboxを自作できます。

 

頂点シェーダのTEXCOORD(UV座標)に描画しようとしている方向を表すベクトルが入っているため、

そのままピクセルシェーダーに受け渡します。

 

あとは前回と同じようにピクセルシェーダーでジュリア集合を計算。

 

Window/Lightingを開き、Skyboxの所にJuriaSkyを使ったマテリアルを設定すれば動作します。

無題

無題

 

問題点

uv.zを無視しているので、uv.zがゼロに近いところが間延びしてしまいます。

良い解決策をご存知の方は教えて下さい。

無題

 

<追記>

伸びを抑えたものを作成しました。

一旦UV座標を球面座標系に変換し、それを用いてジュリア集合をマッピングしています。

 

▼ 球面座標に変換するコード

 

▼ 動作イメージ

無題

 

▼ コード

 

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

(Required)

Proudly powered by WordPress   Premium Style Theme by www.gopiplus.com