Примитив <a-sky> предназначен для создания
небесного фона в 3D-сценах, который окружает всю сцену,
создавая эффект окружающей среды. Он обычно используется для имитации
неба, горизонта, панорамных фонов или любых сферических изображений,
создающих ощущение пространства.
color — задаёт сплошной цвет фона.
Поддерживаются как CSS-цвета, так и шестнадцатеричный
формат #RRGGBB. Пример:
<a-sky color="#87CEEB"></a-sky>
Этот код создаёт светло-голубое небо, имитирующее дневной фон.
src — указывает текстуру или
изображение, которое будет отображено на сфере неба. Может быть
URL к изображению, data URI или
asset внутри <a-assets>. Пример:
<a-assets>
<img id="skyTexture" src="textures/sky.jpg">
</a-assets>
<a-sky src="#skyTexture"></a-sky>
Текстура автоматически разворачивается по внутренней поверхности сферы, создавая панорамный эффект.
radius — радиус сферы, по умолчанию
равен 5000. Чем больше радиус, тем менее заметны искажения
при близком приближении к центру сцены.
<a-sky src="#skyTexture" radius="10000"></a-sky>theta-length и
phi-length — определяют углы отсечения
сферы по вертикали и горизонтали соответственно. По умолчанию
360 и 180. Используются для частичных куполов
или панорамных эффектов.
rotation — поворот сферы по осям
x, y, z. Позволяет изменять
ориентацию текстуры на небе.
<a-sky src="#skyTexture" rotation="0 180 0"></a-sky>Простейший способ создать фон — это задать цвет:
<a-scene>
<a-sky color="#1E90FF"></a-sky>
</a-scene>
Этот метод подходит для имитации чистого неба или для минималистических сцен без сложных текстур.
Текстуры позволяют создавать реалистичные фоны. Важно учитывать:
.jpg или .png. Для панорам рекомендуется
equirectangular формат.<a-sky>
автоматически разворачивает изображение по внутренней поверхности сферы,
поэтому специальная настройка UV обычно не требуется.Пример панорамного неба с эффектом заката:
<a-assets>
<img id="sunset" src="textures/sunset_equirect.jpg">
</a-assets>
<a-sky src="#sunset" rotation="0 90 0"></a-sky>
Примитив <a-sky> поддерживает анимации
через компонент animation, позволяя создавать
плавные изменения цвета, вращение или смену текстур.
Плавное вращение неба:
<a-sky src="#skyTexture" rotation="0 0 0"
animation="property: rotation; to: 0 360 0; loop: true; dur: 60000"></a-sky>
Изменение цвета в течение дня:
<a-sky color="#87CEEB"
animation="property: color; to: #FF4500; dir: alternate; dur: 120000; loop: true"></a-sky>
Для имитации куполов планетарных станций, аркадных сцен или театральных проекций используется настройка углов:
<a-sky src="#skyTexture" theta-length="120" phi-length="90"></a-sky>
theta-length — угол по горизонтали (0–360).phi-length — угол по вертикали (0–180).Эти параметры позволяют создавать сферы-обрезки, экономя ресурсы и фокусируя внимание на нужной части сцены.
<a-sky> всегда размещается снаружи
сцены, поэтому объекты внутри <a-scene>
визуально находятся “под небом”.<a-sky><a-scene fog="type: exponential; color: #d0f4f7; density: 0.02">
<a-assets>
<img id="cloudySky" src="textures/cloudy_sky.jpg">
</a-assets>
<a-sky src="#cloudySky" rotation="0 180 0" radius="5000"></a-sky>
<a-light type="ambient" color="#ffffff" intensity="0.5"></a-light>
<a-light type="directional" color="#ffffff" intensity="0.8" position="0 1 0"></a-light>
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9"></a-box>
<a-sphere position="2 1.25 -5" radius="1.25" color="#EF2D5E"></a-sphere>
<a-plane position="0 0 -4" rotation="-90 0 0" width="10" height="10" color="#7BC8A4"></a-plane>
</a-scene>
В этом примере <a-sky> создаёт панорамный
небесный фон, который гармонично сочетается с освещением,
туманом и объектами сцены, обеспечивая ощущение глубины и
реалистичности.