【無料】RARAの星空シェーダー / RARA - StarfieldUnlit v1.2更新済




説明
星空シェーダー / RARA — StarfieldUnlit (Built-in RP)
高品質・軽量・Skybox透過加算の光が瞬く星空シェーダーが欲しくて試しに作ってみました。
等星(Magnitude)風の明るさ段階, 選択的な瞬き, 星野の濃淡(fBmクラスタ), 天球回転対応, 流星, 銀河帯を備えています。
VRChat(SDK3/Worlds)想定。PC/Quest 共に動作します(Built-in Render Pipeline 前提)。しなかったらすみません。検証環境がなくてちゃんと調べられませんでした。 普通のUnlitShaderなので多分大丈夫なはずです。
→iOSで雲は映りませんでしたが星空は問題なく描画されました。
どんなもんか確認したい方はこちらへどうぞ ↓ 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)
導入手順
-
素材配置
- Unitypackageをインポート
-
天球(Sphere)のPrefabは用意されているので、それをインスペクターに放り投げてください。
- 直径は100mにしてますが足りなければスケール変更してみてください
- 法線は通常のままでOK。シェーダ内で
Cull Frontを使い、内側を描画します。 - 非等方スケールは禁止(X=Y=Z)
-
マテリアル適用
- Sphere の MeshRenderer にマテリアルを割り当てるとどのスフィアでも描画されるはずです。 他のメッシュにあてて試していないのでどうなるかはわかりません。
- Renderer 設定:
- Cast/Receive Shadows Off
- Motion Vectors Force No Motion
- Light/Reflection Probes Off
- Occlusion Culling 対象外(Dynamic Occlusion Off) を推奨
-
カメラ/レイヤー
- Main Camera の Culling Maskに星ドームのレイヤーが含まれていることを確認。デフォルトで大丈夫だとおもいます。
-
回転
- 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までご報告いただけますと幸いです。 試作段階ではありますが、割ときれいに出来たような気がするので無料で配布いたします。
アップデート内容(ver 1.1 )
今回のアップデートでは、**雲シェーダー(TowelCloud)と連動して星が減光する“CloudLink対応版”**が追加されました。 雲の動き・密度・柔らかさをそのまま読み取り、薄雲の下では星が瞬き、厚雲では星が隠れるようになります。
🆕 追加要素
TowelCloud 用Quad(CloudQuad) をシーンに追加済みです。
高さは地面(ワールド原点)から 約 2 m に配置されています。
マテリアルには Towel/TowelCloud が適用済みです。
UdonSharp スクリプト RARA_CloudLinkSync が同梱されています。
これにより TowelCloud → 星シェーダー(RARA/StarfieldUnlit_CloudLinked) の各パラメータが自動同期します。
雲マテリアルを変更したりアニメーションさせても、星側の減光が追随します。
🧭 導入手順(最短セットアップ)
シーンに Prefab または Package を配置
UniverSphere_V1.1(星ドーム)をワールドに置く。
⇛U# スクリプトを確認
シーン上に RARA_CloudLinkSync が存在しているか確認。
スクリプト設定
Cloud Renderer:CloudQuad の Mesh Renderer を指定。 Star Renderers:UniverSphere_V1.1 の Mesh Renderer を指定。 (プレハブでもとから設定されているはずなのでそのまま使えるはずです)
Continuous Sync を ON にすると、0.5 秒ごとに自動更新されます。 重ければ1秒~2秒などに設定を変更お願いします。
レンダーキュー設定(重要)
オブジェクト 推奨Queue 説明 🌟 Star Sphere(RARA/StarfieldUnlit_CloudLinked) 2800 (Transparent - 200) 雲より先に描く → 雲で減光される ☁️ Cloud Quad(Towel/TowelCloud) 2900 (Transparent - 100) 星の上に描く → アルファで星を覆う そのほか透明オブジェクト 3000 以上 必要に応じて調整
スケール調整
CloudQuad と UniverSphere_V1.1 の大きさはワールドサイズに合わせて自由に拡大/縮小してください。
(例:小型ワールドなら Quad Scale = 30×30 程度、Sphere Scale = 100 前後)
💡 Tips / 注意点
Continuous Sync をOFF にした場合は、Udon イベントや Trigger から _SyncNow() を呼ぶと手動更新されます。
Sync Noise Texture をON にしておくと、雲のノイズテクスチャ変更も星に即反映されます。
Quadの向き:上向き(法線 +Y)にしてください。反転していると雲が裏面に描かれません。
星ドームは内側を描くため、Cull Front の設定を変更しないでください。
不透明オブジェクトには星が乗りません(ZTest LEqual)。
軽量化:CloudLink減光は Shader 内 fBm 計算 2〜3 段なので Quest でも実用負荷なはずです。
⚙️ 推奨設定まとめ パラメータ 推奨値 備考 _Exposure 1.2 星の明るさ(Bloom併用なら 1.0–1.4) _CL_OcclusionStrength 0.9 〜 1.2 雲の減光強度 _CL_OcclusionFeather 1.0 〜 2.0 フェードの滑らかさ _StarDensity 0.9 星の密度 _Presence 0.08 星の出現率 _BaseSize 0.0024 星のサイズ _Galaxy OFF (PCならON) 銀河帯ONでPC向けリッチ表示 _Meteor 任意 流星効果
このアップデートで、雲の隙間から星が瞬く“現実的な夜空” が誰でも簡単に再現できます。 UniverSphere_V1.1 を「ぽん置き」して RARA_CloudLinkSync の StarRenderers だけドラッグする──それだけで完了するように作っているつもりです。
不具合やご希望などあれば作者のXまでご連絡お願いします。