# TowelCloud
TowelCloudは空と雲を描画するshaderです
MITライセンスのため、どなたでも無料で利用し、配布物などにも含めることができます
[このドキュメントは現在こちらから引っ越し中です](https://gitlab.com/towelfunnelvrc/towelcloud/-/wikis/TowelCloud)
### 良い点
* 無料
* 雲が動く
* レイマーチングやボリュームレンダリングより軽量
* 水平方向にも雲が存在するので水平線に対するぼやけが少ない
* タイリング感がほとんど無い
* 窓などに貼り付けると、あたかも遠景が存在するように見せることができる
### 欠点
* 固定skybox、UVスクロール、タイリング型より重い
* ボリュームレンダリングしていないため雲に近づくことはできない
### 注意点
惑星を想定した空気層上に雲があると仮定した計算をしているため、水平より下方向は惑星の裏側の雲が見えることになり不自然な描写になります
下方向の雲を消すオプションと上下を反射するオプションを用意していますので利用してください
## 使い方
1. [UnityPackageをダウンロード](https://gitlab.com/towelfunnelvrc/towelcloud/-/releases)します
(よくわからなければ、**安定版**と書かれているもののうち、一番上にある**TowelCloud.unitypackage**いうリンクをクリックしてダウンロードしてください)
2. Unityにインポートします
3. Assets/TowelCloudフォルダの中にあるフォルダから、好きなマテリアルを使います
### 注意
* Unityのカラースペースは[リニアに設定しないと](https://docs.unity3d.com/ja/2018.4/Manual/LinearRendering-LinearOrGammaWorkflow.html)正しい色で見ることができません。とくにVRChatのワールドとして設定する場合、リニアの見た目が正しくなります
* 下方向の計算は正しく描画されません。見下ろすような雲海には適しません
* v1.3から下方向の雲を消すオプションが実装
* マテリアルはスカイボックスに設定する方法と、スフィアなどに貼り付ける方法があります。透過した場合はskyboxに設定すると画面に残像が残ることがあります
* テクスチャのみのskyboxに比べるとさすがに動作負荷があります。あまり動かなくていい背景の場合はベイクなどを試してみてください
## ライセンスについて
Zlibライセンスです
https://ja.wikipedia.org/wiki/Zlib_License
VRCワールドなど、利用した空間内で著作者表示をする義務はありません
ただし、可能な範囲で書いておいてもらえると、使おうと思った他の人の検索の助けになるので嬉しいです!
## [テンプレート紹介](テンプレート)
[](テンプレート)
[テンプレートの詳細説明はこちらから](テンプレート)
## トラブルシューティング
### UnityのSucene Viewでのみ、きれいなグラデーションにならず縞模様のようなものが出る
リニアカラーにしたときに発生することがあるようです
Unityを再起動してください
### 残像のようなものが残る
UnityPackageをimportしなおしてみてください
もしくは、半透明の雲や「オブジェクトとして配置する」のチェックボックスがついている状態でskyboxに配置するとそうなってしまうことがあります
### 左右の目でズレが生じる
今のところimportしなおしで修正されるのを確認しています
## 独自の色調節をする場合
カラー指定の画像を独自に用意する場合、Unity上で画像の設定を、WrapModeをclampに、CompressionをNoneにしてください

Unityの基本設定のままだと、雲や空の頂上や水平線にノイズが発生します

色の設定はとても難しいので、テンプレートをそのまま色の調節をするか、実際の写真の色を参考に調節すると良いです
## 謝辞
* 星空のskybox例はるらさんに頂いたものを使用しています
上記のファイルは、TowelCoudのライセンスに影響を与えず、そのまま使うことができます
## 今後の更新予定
https://gitlab.com/towelfunnelvrc/towelcloud/-/boards/1558261