Boîtes célestes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Un skybox est un cube composé de six images individuelles qui créent un fond de ciel immersif dans une expérience.Lorsque les images sont conçues pour être parfaitement alignées les unes avec les autres, la skybox semble être panoramique sans l'impression d'être à l'intérieur d'un cube.Cela fait en sorte que les expériences se sentent plus grandes qu'elles ne le sont réellement, et ajoute de la profondeur à votre atmosphère, comme la simulation d'un espace profond ou d'environnements sous-marins.

De plus, l'objet Sky inclut des corps célestes tels que le soleil, la lune et les étoiles qui apparaissent dynamiquement, se lèvent et se couchent en fonction du TimeOfDay ou du ClockTime.

Enfin, l'objet Sky peut être utilisé comme une carte cubique pour les réflexions dans ViewportFrames . Pour plus de détails, voir cadres de fenêtre de vue .

Construction de la skybox

Si vous avez créé vos propres images de skybox, vous devez d'abord importer les dans Roblox avant de pouvoir les utiliser dans une skybox.Chaque image doit être sans couture le long de tous les bords des images voisines lorsqu'elle est "pliée" dans un cube.


Pour créer une skybox :

  1. Dans la fenêtre Explorateur , insérez un objet dans le service ».

  2. Sélectionnez le nouvel objet Sky, puis dans la fenêtre propriétés , attribuez une texture à chacune des propriétés du ciel suivantes :

    • SkyboxBk — Le carré arrière de la skybox.
    • SkyboxDn — Le carré vers le bas de la skybox.
    • SkyboxFt — Le carré avant de la skybox.
    • SkyboxLf — Le carré gauche de la skybox.
    • SkyboxRt — Le carré droit de la skybox.
    • SkyboxUp — Le carré supérieur de la skybox.

Corps célestes

Par défaut, l'objet Sky inclut des corps célestes tels que le soleil, la lune et les étoiles.Ces corps apparaissent dynamiquement, montent et sont définis en fonction des valeurs de propriété TimeOfDay ou ClockTime.

Vous pouvez personnaliser les corps célestes via les propriétés suivantes :

Oriération

La propriété SkyboxOrientation change l'orientation des surfaces de la skybox.La propriété prend un Vector3 de valeurs de degré dans l'ordre typique XYZ , mais la rotation est appliquée en premier autour de l'axe Y , puis X et ensuite Z pour permettre un contrôle prévisible sur des mouvements complexes.

Un moyen facile de scripter une animation d'orientation est de tourner autour de l'axe Y (en maintenant le niveau de l'horizon), puis de pencher cet axe en définissant X et Z à une valeur fixe.Le script suivant, par exemple, anime l'axe Y pour tourner tout en maintenant un inclinaison cohérente de 30° sur l'axe X .


local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local sky = Lighting:FindFirstChild("Sky")
local ROTATION_SPEED = 5 -- En degrés par seconde
RunService.Heartbeat:Connect(function(deltaTime)
sky.SkyboxOrientation = Vector3.new(
30,
(sky.SkyboxOrientation.Y + ROTATION_SPEED * deltaTime) % 360,
0
)
end)

Notez que l'orientation des skyboxes est une fonctionnalité à faible coût qui fonctionne sans problème sur toutes les plates-formes et les niveaux de qualité visuelle.Par conséquent, certaines exceptions intentionnelles incluent :

  • Si le ciel est visible dans des reflets intérieurs tels qu'une surface miroir à travers une fenêtre ouverte, cette vue réfléchie spécifique ne sera pas rotée.Réussir cela nécessiterait une relecture coûteuse et une combinaison des cubemaps qui aurait un impact significatif sur les performances et la disponibilité large.
  • Seules les surfaces de la skybox tournent ; les corps célestes ne sont pas affectés par cette propriété.
  • Si vous utilisez un Sky dans un ViewportFrame , il reflètera les valeurs globales de SkyboxOrientation . Vous ne pouvez pas ajuster l'angle par ViewportFrame .
  • La fonctionnalité des nuages dynamiques sous Terrain n'est pas affectée.