A スカイボックスは、ゲーム内で没入感のある空の背景を作成するための6つの個別の画像から成る立方体です。画像が互いに完璧に揃うようにデザインされている場合、スカイボックスは立方体の内部にいる印象を与えずにパノラマのように見えます。これにより、ゲームのサイズ感が実際よりも大きく感じられ、深宇宙や水中環境をシミュレーションするなど、雰囲気に深みが加わります。
さらに、Sky オブジェクトには、太陽、月、星などの天体が含まれており、これらは TimeOfDay または ClockTime に基づいて動的に現れたり、昇ったり、沈んだりします。
最後に、Sky オブジェクトは、ViewportFrames における反射のためのキューブマップとして使用できます。詳細については、ビューポートフレームを参照してください。
スカイボックスの構築
独自のスカイボックス画像を作成した場合、スカイボックスで使用する前にそれらをRobloxにインポートする必要があります。各画像は「折りたたむ」ときに隣接する画像のすべてのエッジに沿ってシームレスでなければなりません。

スカイボックスを作成するには:
新しい Sky オブジェクトを選択し、プロパティ ウィンドウで以下の各スカイプロパティにテクスチャを割り当てます:
- SkyboxBk — スカイボックスの背面の四角
- SkyboxDn — スカイボックスの下の四角
- SkyboxFt — スカイボックスの前面の四角
- SkyboxLf — スカイボックスの左側の四角
- SkyboxRt — スカイボックスの右側の四角
- SkyboxUp — スカイボックスの上面の四角

天体
デフォルトで、Sky オブジェクトは太陽、月、星などの天体を含みます。これらの天体は、TimeOfDay または ClockTime プロパティ値に基づいて動的に現れ、昇り、沈みます。
以下のプロパティを通じて天体をカスタマイズできます:
- SunTextureId — 太陽のテクスチャを設定します。
- SunAngularSize — 太陽の相対的なサイズを度数で設定します。
- MoonTextureId — 月のテクスチャを設定します。
- MoonAngularSize — 月の相対的なサイズを度数で設定します。
- StarCount — スカイボックス内の星の数を設定します。
向き
SkyboxOrientation プロパティは、スカイボックスの面の向きを変更します。このプロパティは、典型的なXYZ順序の度数値の Vector3 を取りますが、回転はY軸周りに最初に適用され、その後X、その後Zが適用されます。これにより、複雑な動きを予測可能に制御できます。
向きのアニメーションをスクリプトで簡単に作成する方法は、Y軸周りに回転させ(地平線を平行に保つ)、次にこの軸を固定値に設定してXとZを傾けることです。次のスクリプトは、たとえば、Y軸をスピンさせながら、X軸に一定の30°の傾きを保ちます。
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- 1秒あたりの度数
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)
スカイボックスの向きは、すべてのプラットフォームと視覚品質レベルでシームレスに機能する低コストの機能であることに注意してください。そのため、いくつかの意図的な例外があります:
- スカイがオープンウィンドウを通しての鏡面などの屋内反射に見える場合、その特定の反射ビューは回転しません。これを達成するには、キューブマップの再レンダリングと畳み込みに高コストがかかるため、パフォーマンスや広範な利用可能性に大きな影響を与えます。
- スカイボックスの表面のみが回転します;天体はこのプロパティの影響を受けません。
