Shape
Motion & Transform
Colors
このページは、中心から放射状に伸びる光線をノイズで作り、色を何層か重ねて God Rays らしい見た目を作っています。3D モデルは使わず、1枚のフルスクリーン quad と WebGL シェーダだけで描画しています。
画面座標をアスペクト比に合わせて補正し、`offset / scale / rotation` を適用して光の中心と向きを決めます。
shapeUV = rotate((uv + offset) / scale, rotation)角度と半径を使って value noise をサンプリングし、明るい部分だけを光線として扱います。 `density` が光線の本数感、`spotty` が長さのばらつきに効きます。
ray = raysShape(angle, radius, density, spotty)中心に向かう滑らかなマスクを加えて、放射の根元に光の塊を作ります。 `midSize` が大きさ、`midIntensity` が強さです。
ray += centerGlow(midSize, midIntensity)最大 5 色までのレイヤーを少しずつ回転・位相ずらしして重ねます。通常のアルファ合成と加算合成を `bloom` で混ぜることで、にじむ光量感を作っています。
accum = mix(alphaBlend, addBlend, bloom)`colorBloom` を上から薄く重ねて色味を統一し、最後に `colorBack` と合成して完成です。`speed` は時間の進み方を変えるだけなので、見た目の構造はそのまま維持されます。
final = blend(rays, colorBloom, bloom) + background