【無料】RARAの星空シェーダー / RARA - StarfieldUnlit
- Digital0 JPY


星空シェーダー / RARA — StarfieldUnlit (Built-in RP) 高品質・軽量・Skybox透過加算の光が瞬く星空シェーダーが欲しくて試しに作ってみました。 **等星(Magnitude)風の明るさ段階**, **選択的な瞬き**, **星野の濃淡(fBmクラスタ)**, **天球回転対応**, **流星**, **銀河帯**を備えています。 **VRChat(SDK3/Worlds)想定**。PC/Quest 共に動作します(Built-in Render Pipeline 前提)。しなかったらすみません。検証環境がなくてちゃんと調べられませんでした。 普通のUnlitShaderなので多分大丈夫なはずです。 どんなもんか確認したい方はこちらへどうぞ ↓ https://vrchat.com/home/launch?worldId=wrld_b9a5da95-a5c6-4b5d-a165-88fa6c479b0d --- ## 特長 - **Skyboxを透過**し、星の光だけを加算合成 - **等星ビン**:明るい星と暗い星がはっきり分布 - **選択的ツインクル**:ごく一部だけ強めに瞬く(地平線付近・明るい星ほど揺れやすい) - **大域濃淡**:fBmノイズで星の群れと空隙を形成(ザラつき軽減) - **天球回転**:Sphere(天球)を回せば空が回転(シェーダ内自動回転オプションも有) - **流星・銀河帯**:ON/OFF・パラメータ豊富 流星の向き、尾の長さ、速度など様々なパラメータあるので、自然に見えるよう調教お願いします。 - **アンチエイリアス**:`fwidth` を用いたSDFエッジAAで視点移動時もチラつき低減 - **軽量**:テクスチャなし!! テクスチャを一個も含んでいない軽量シェーダーです。Skyboxを邪魔しないものになっています。Unityに最初から入っているSkyBoxの露出調整だけでもわりときれいな星空が表現できるようにしました。 --- ## 動作環境 - **Unity**:Built-in Render Pipeline(URP/HDRPは未対応) *VRChatの推奨/対応バージョン帯で動作確認。* - **プラットフォーム**:PC / Quest(モバイルGPUでも動作する負荷設計) - **レンダリング**:Transparent + Additive(`Blend One One`) --- ## 導入手順 1. **素材配置** - Unitypackageをインポート 2. **天球(Sphere)のPrefabは用意されているので、それをインスペクターに放り投げてください。** - 直径は100mにしてますが足りなければスケール変更してみてください - **法線は通常のまま**でOK。シェーダ内で `Cull Front` を使い、内側を描画します。 - **非等方スケールは禁止**(X=Y=Z) 3. **マテリアル適用** - Sphere の MeshRenderer にマテリアルを割り当てるとどのスフィアでも描画されるはずです。 他のメッシュにあてて試していないのでどうなるかはわかりません。 - Renderer 設定: - Cast/Receive Shadows **Off** - Motion Vectors **Force No Motion** - Light/Reflection Probes **Off** - **Occlusion Culling 対象外(Dynamic Occlusion Off)** を推奨 4. **カメラ/レイヤー** - Main Camera の **Culling Mask** に星ドームのレイヤーが含まれていることを確認。デフォルトで大丈夫だとおもいます。 5. **回転** - **Sphere を回せば天球が回転**します。X,Y,Z の値を適宜調整して回転軸を調整してください。 - シェーダの `Auto Rotate` をONにして `Auto Rotate Speed (deg/s)` を **0.00418** にすると「恒星日」相当になります。 (恒星日だとほぼほぼ覚知できないので、好きな速度で調整してください) --- ## 主要パラメータ(抜粋) - **Exposure**:露光。1.0〜1.3 付近で調整。 - **Star Density / Presence**:星の粗密。Presence は「セルが星を持つ確率」。多すぎるとノイズ感でます。 - **Base Star Size / Size Jitter**:星のサイズとばらつき。 - **Brightness Power**:右裾重み(明るい星が稀になる)。 - **Color**:`Kelvin`(色温度)、`Hue Variance`(色のばらつき)、`Saturation`。 - **Magnitude(等星)**:`Mag Steps`(段階数)、`Skew`(暗い星を増やす度合い)、`Bright Core Boost`(明るい星の芯をわずかに大きく)。 - **Twinkle**:`Twinkle Depth/Speed`(全体の軽い瞬き)、`Selective Fraction/Depth`(選択的ツインクルの割合と強さ)、`Chromatic`(色相ゆらぎ)。 - **Cluster(濃淡)**:`Noise Scale`、`Strength`、`Contrast`。 - **Horizon Fade**:地平線付近の減光(世界の上下基準)。 - **Galaxy**:`Enable/Strength/Width/Softness/Angle`。 - **Meteor**:`Enable/Rate/Brightness/Width/Length/Speed` ほか、出現帯(Yaw/Pitch)、開始範囲、芯/尾の鋭さ。 - **Auto Rotate**:自動回転のON/OFF、速度(deg/s)、軸(デフォルトY軸)。 --- と言った具合に色々項目がございますので、色々試してみてください。 ## おすすめ初期設定 - **Quest Light** - Exposure 1.15 / Star Density 0.9 / Presence 0.07–0.09 - Base Size 0.0023 / Brightness Power 2.6 - Cluster:Scale 1.4–1.8, Strength 1.0, Contrast 1.4 - Twinkle Depth 0.16–0.20, Selective Fraction 0.18–0.24 - Galaxy **Off**(軽量) / Meteor **軽め** - **PC Rich** - Exposure 1.25 / Presence 0.08–0.10 - Galaxy **On**(Strength 0.5–0.7, Width 0.25–0.32) - Twinkle Selective Depth 0.4–0.55, Chromatic 0.03–0.06 --- ## トラブルシュート - **Playすると星が消える** - カメラが球の**内側**にいるか、レイヤーが**Culling Mask**に含まれているか。 - Sphereが小さすぎる/カメラが外に出る → **スケールを大きく**。 - 一時テストで `ZTest LEqual` → `ZTest Always` にすると深度起因か切り分け可能(テスト後は戻してください)。 - **ザラつく** - Presence を下げる(0.06–0.08)、LayerMix の細層を控えめ、Cluster Contrast を上げる。 - **チラチラする** - Base Size をわずかに上げ、Twinkle Depth を下げる。AAは既に有効。 --- トラブルあれば作者Xまでご報告いただけますと幸いです。 試作段階ではありますが、割ときれいに出来たような気がするので無料で配布いたします。
利用規約
VRChatのワールド制作で使用した場合にはクレジット記載をお願いします。 【無料】RARAの星空シェーダー / RARA - StarfieldUnlit アバターに関してはクレジット不要です。 再配布、再販売不可です。
更新履歴
V1.0 公開


