Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество

Небо

Опубликованно: 06.04.2017, 15:57
Последняя редакция, Andry: 02.07.2017 22:43

Вот пример того, как вы можете добавить статический горизонт (фоновый пейзаж и небо) к сцене. Наличие различимого горизонта с подходящим ландшафтом (или в пространством, или океаном, или чем-либо еще), на заднем плане, делает сцены выглядящими более реалистично, чем просто одноцветный «фон неба».

Добавление неба

Добавить небо очень просто используя com.jme3.util.SkyFactory.

getRootNode().attachChild(SkyFactory.createSky(getAssetManager(), "Textures/Sky/Bright/BrightSky.dds", SkyFactory.EnvMapType.CubeMap));

Чтобы добавить небо вам предоставить:

  1. Объект assetManager для использования
  2. Текстура неба для Кубической или сферической карты
  3. Установить тип карты: SkyFactory.EnvMapType. В этом случае, CubeMap.

Внутри SkyFactory вызываются следующие методы:

  1. sky.setQueueBucket(Bucket.Sky); делает определенный рендериг неба в правильном порядке за всем остальным.
  2. sky.setCullHint(Spatial.CullHint.Never); гарантирует, что небо никогда не отсекается.
  3. В SkyFactory использует встроенное jME3 описание материала Sky.j3md. Этот описание материал работает со сферическими и кубическими картами.

Создание текстуры

В качестве текстуры неба мы используем файл образец BrightSky.dds из jme3-test-data.

Как создать текстуру для неба?

  • Существует много инструментов, которые генерируют кубические и сферические карты.
    Примерами генераторов ландшафтной текстуры являются Terragen или Bryce.
  • Фактический размер текстуры не имеет значения, до тех пор, как вы не добавите Sky Геометрию в Sky bucket: Все в sky bucket всегда будет бесконечно далеко за всем остальным, и никогда не пересечется с вашей сценой. Конечно, чем выше разрешение, тем лучше оно будет выглядеть. С другой стороны, если графический объект слишком велик, это будет замедлять игру.
  • Кубическая или сферическая карта является самым простым решением. Но вы можете использовать любой Узел, как небо, даже сложные наборы геометрий и quads с анимированными облаками, мигающие звезды, городских пейзажи и.т.д.
  • JME3 поддерживает кубические карты в формате PNG, JPG, или (сжатый) DDS.

Куб или Сферу?

Если у вас есть доступ к текстурам кубической карты, то используйте SkyBox.

skybox

Если у вас есть доступ к текстурам сферической карты — специально спроектированным изображениям неба, которые помещаются внутри сферы — тогда используйте SkySphere или SkyDome.

Skysphere

Для получения дополнительной информации о создании Skymap см.


Переведено для jmonkeyengine.ru, оригинал
Автор перевода: BuGaGa

Добавить комментарий

Содержание

jMonkeyEngine.ru © 2017. Все права сохранены.